Linux syslog 系統日誌管理

Linux syslog 系統日誌管理php

===============================================================================
html

rsyslog記錄日誌於mysql:mysql

操做以下sql

  實驗環境:CentOS 7 操做系統數據庫

前提:vim

    準備好msql server或mariadb server(必定要編輯配置文件/etc/my.cnf,添加跳過反向解析等)並啓動服務;centos


實驗步驟:安全

  1.安裝rsyslog鏈接至mysql server的驅動模塊;bash

    # yum install rsyslog-mysql ide

  2.在mysql server準備rsyslog專用的用戶帳號;

[root@centos7 ~]# mysql -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 受權數據庫Syslog的全部表容許rsyslog用戶在本地主機訪問,訪問密碼爲134296
MariaDB [(none)]>  GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY '134296';
Query OK, 0 rows affected (0.00 sec)

# 爲了安全不被反解,再受權一個使用local的本地主機
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY '134296';
Query OK, 0 rows affected, 1 warning (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES; 
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> use mysql;
MariaDB [mysql]> SELECT user,host,password FROM user;
+------------+-----------+-------------------------------------------+
| user       | host      | password                                  |
+------------+-----------+-------------------------------------------+
| root       | localhost | *41EE0F8759D5340036B009143E1727DB5787A448 |
| root       | centos7   | *41EE0F8759D5340036B009143E1727DB5787A448 |
| root       | 127.0.0.1 | *41EE0F8759D5340036B009143E1727DB5787A448 |
| root       | ::1       | *41EE0F8759D5340036B009143E1727DB5787A448 |
| ultraxuser | 127.0.0.1 | *41EE0F8759D5340036B009143E1727DB5787A448 |
| ultraxuser | localhost | *41EE0F8759D5340036B009143E1727DB5787A448 |
| rsyslog    | 127.0.0.1 | *41EE0F8759D5340036B009143E1727DB5787A448 | # 受權的用戶
| rsyslog    | local     | *41EE0F8759D5340036B009143E1727DB5787A448 |
+------------+-----------+-------------------------------------------+
8 rows in set (0.00 sec)

MariaDB [mysql]> \q
Bye


  3.生成所須要的數據庫和表;

    前面已經安裝了rsyslog鏈接至mysql server的驅動模塊rsyslog-mysql,查看其配置文件以下:

[root@centos7 ~]#  rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql  # 是生成數據庫和表的一個腳本文件

[root@centos7 ~]# cat /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
CREATE DATABASE Syslog;
USE Syslog;
CREATE TABLE SystemEvents
(
        ID int unsigned not null auto_increment primary key,
        CustomerID bigint,
        ReceivedAt datetime NULL,
        DeviceReportedTime datetime NULL,
        Facility smallint NULL,
        Priority smallint NULL,
        FromHost varchar(60) NULL,
        Message text,
        NTSeverity int NULL,
        Importance int NULL,
        EventSource varchar(60),
        EventUser varchar(60) NULL,
        EventCategory int NULL,
        EventID int NULL,
        EventBinaryData text NULL,
        MaxAvailable int NULL,
        CurrUsage int NULL,
        MinUsage int NULL,
        MaxUsage int NULL,
        InfoUnitID int NULL ,
        SysLogTag varchar(60),
        EventLogType varchar(60),
        GenericFileName VarChar(60),
        SystemID int NULL
);

CREATE TABLE SystemEventsProperties
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
);

   直接把腳本導入數據庫中

[root@centos7 ~]# mysql -ursyslog -h127.0.0.1 -p134296 < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

# 登陸數據庫查看以下:
[root@centos7 ~]# mysql -ursyslog -h127.0.0.1 -p134296
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Syslog             |
| test               |
+--------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]> use Syslog;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)

MariaDB [Syslog]> desc SystemEvents;
+--------------------+------------------+------+-----+---------+----------------+
| Field              | Type             | Null | Key | Default | Extra          |
+--------------------+------------------+------+-----+---------+----------------+
| ID                 | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| CustomerID         | bigint(20)       | YES  |     | NULL    |                |
| ReceivedAt         | datetime         | YES  |     | NULL    |                |
| DeviceReportedTime | datetime         | YES  |     | NULL    |                |
| Facility           | smallint(6)      | YES  |     | NULL    |                |
| Priority           | smallint(6)      | YES  |     | NULL    |                |
| FromHost           | varchar(60)      | YES  |     | NULL    |                |
| Message            | text             | YES  |     | NULL    |                |
| NTSeverity         | int(11)          | YES  |     | NULL    |                |
| Importance         | int(11)          | YES  |     | NULL    |                |
| EventSource        | varchar(60)      | YES  |     | NULL    |                |
| EventUser          | varchar(60)      | YES  |     | NULL    |                |
| EventCategory      | int(11)          | YES  |     | NULL    |                |
| EventID            | int(11)          | YES  |     | NULL    |                |
| EventBinaryData    | text             | YES  |     | NULL    |                |
| MaxAvailable       | int(11)          | YES  |     | NULL    |                |
| CurrUsage          | int(11)          | YES  |     | NULL    |                |
| MinUsage           | int(11)          | YES  |     | NULL    |                |
| MaxUsage           | int(11)          | YES  |     | NULL    |                |
| InfoUnitID         | int(11)          | YES  |     | NULL    |                |
| SysLogTag          | varchar(60)      | YES  |     | NULL    |                |
| EventLogType       | varchar(60)      | YES  |     | NULL    |                |
| GenericFileName    | varchar(60)      | YES  |     | NULL    |                |
| SystemID           | int(11)          | YES  |     | NULL    |                |
+--------------------+------------------+------+-----+---------+----------------+
24 rows in set (0.01 sec)

MariaDB [Syslog]> Ctrl-C -- exit!
Aborted


  4.配置rsyslog使用ommysql模塊

[root@centos7 ~]# vim /etc/rsyslog.conf 
#### MODULES ####
......
$ModLoad ommysql

wKiom1gIdi3iXMjgAAAcU594PO8091.png


 5.配置RULES,將所指望的日誌信息記錄於mysql中;

      facility.priority   :ommysql:DBHOST,DB,DBUSER,DBUSERPASS

wKiom1gId8Ow_kVDAAAVeLPO5SA913.png
 

 6.重啓rsyslog服務;登陸數據庫查看以下

  # systemctl start rsyslog # 重啓服務
  
  [root@centos7 ~]# mysql -ursyslog -h127.0.0.1 -p134296
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.44-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use Syslog;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [Syslog]> select * from SystemEvents\G;
*************************** 11. row ***************************
                ID: 11
        CustomerID: NULL
        ReceivedAt: 2016-10-20 16:00:01
DeviceReportedTime: 2016-10-20 16:00:01
          Facility: 9
          Priority: 6
          FromHost: centos7
           Message: (root) CMD (/usr/lib64/sa/sa1 1 1)
        NTSeverity: NULL
        Importance: NULL
       EventSource: NULL
         EventUser: NULL
     EventCategory: NULL
           EventID: NULL
   EventBinaryData: NULL
      MaxAvailable: NULL
         CurrUsage: NULL
          MinUsage: NULL
          MaxUsage: NULL
        InfoUnitID: 1
         SysLogTag: CROND[3521]:
      EventLogType: NULL
   GenericFileName: NULL
          SystemID: NULL
11 rows in set (0.00 sec)


 7.loganalyzer圖形化工具

        WebGUI, 運行amp環境中;

  1)獲取loganalyzer-3.6.5.tar.gz 

lftp 10.1.0.1:/pub/Sources/sources/loganalyzer> ls
-rwxr--r--    1 500      500       1046600 Aug 24  2013 loganalyzer-3.6.4.tar.gz
-rwxr--r--    1 500      500       1046957 Aug 19  2014 loganalyzer-3.6.5.tar.gz
lftp 10.1.0.1:/pub/Sources/sources/loganalyzer> mget loganalyzer-3.6.5.tar.gz 
1046957 bytes transferred                              
lftp 10.1.0.1:/pub/Sources/sources/loganalyzer> bye
[root@centos7 ~]# ls
anaconda-ks.cfg    bin    Templates    Desktop   Documents        
loganalyzer-3.6.5.tar.gz  Pictures     Videos
Downloads         Music    Public

[root@centos7 ~]# tar xf loganalyzer-3.6.5.tar.gz # 解壓縮
[root@centos7 ~]# cd loganalyzer-3.6.5/
[root@centos7 loganalyzer-3.6.5]#
admin  bbs  drupal-7.28  lastlog.txt  messages.txt  phpinfo.php  phpMyAdmin-4.0.5-all-languages  php-mysql.php  pma  src  text.html

# 只複製src目錄到/var/www/html/中,並命名爲loganalyzer-3.6.5
[root@centos7 loganalyzer-3.6.5]# cp -a src/ /var/www/html/loganalyzer-3.6.5

[root@centos7 loganalyzer-3.6.5]# cd /var/www/html/
[root@centos7 html]# ln -sv loganalyzer-3.6.5/  log # 建立軟連接
‘log’ -> ‘loganalyzer-3.6.5/’
[root@centos7 html]# ll
total 432
drwxr-xr-x  2 root root     38 Oct 14 12:51 admin
drwxr-xr-x 12 root root   4096 Jun  9  2015 bbs
drwxr-xr-x  9 6226 6226   4096 May  8  2014 drupal-7.28
-rw-r--r--  1 root root 585460 Oct 10 22:08 lastlog.txt
lrwxrwxrwx  1 root root     18 Oct 20 16:27 log -> loganalyzer-3.6.5/  # 連接文件
drwxrwxr-x 14 root root   4096 Oct  9  2013 loganalyzer-3.6.5
-rw-r--r--  1 root root 329712 Oct 11 09:19 messages.txt
-rw-r--r--  1 root root     25 Oct 11 22:03 phpinfo.php
drwxr-xr-x  9 root root   4096 Oct 13 11:05 phpMyAdmin-4.0.5-all-languages
-rw-r--r--  1 root root    125 Oct 12 22:27 php-mysql.php
lrwxrwxrwx  1 root root     31 Oct 13 10:54 pma -> phpMyAdmin-4.0.5-all-languages/
-rw-r--r--  1 root root    139 Oct  8 17:00 text.html

# 到原來的目錄中找到contrib目錄,這裏面有兩個腳本,能夠幫助咱們配置源碼。
[root@centos7 loganalyzer-3.6.5]# ls contrib/
configure.sh  secure.sh
[root@centos7 loganalyzer-3.6.5]# cp  contrib/* /var/www/html/log/   # 複製過去

[root@centos7 log]# cat configure.sh  # 從安裝步驟中得知要先執行此腳本
#!/bin/sh

touch config.php
chmod 666 config.php
[root@centos7 log]# cat secure.sh 
#!/bin/sh 
chmod 644 config.php  # 安裝完成以後執行此腳本
 
[root@centos7 log]# touch config.php  # 由於太簡單因此,本身手動修改便可
[root@centos7 log]# chmod 666 config.php

 2)準備amp環境,這裏以httpd+php爲模塊的方式

 3)安裝配置以下圖

wKioL1gIijfAh73VAABcGLwcldw141.png


wKiom1gIil2wLyWRAACYfd3FeVc865.png


wKioL1gIim2Bx9nJAAB1RNzmRiA225.png


wKiom1gIioHAkwQmAAClOLUvfzU086.png


wKioL1gIip3zXTBoAAC7pbhfYBk555.png


wKiom1gIip6x9l_FAABNj2rpwx4464.png

  注意:這裏localhost應該改成127.0.0.1 編輯配置文件config.php便可

wKioL1gIiqPSGs8fAACk3Ip7ixA108.png


wKioL1gIiqiTMwTgAAMPvVcI3VE455.png

  安裝php-gd能夠顯示柱狀圖

wKiom1gIjJfDkxZlAADStSGTvHY826.png


步驟總結以下:

wKioL1gIjZyjwkaWAADbp0_l7JU129.png

相關文章
相關標籤/搜索