环境:centos7.1
- centos的日志分类
1.syslogd:主要记录用户空间产生的应用程序的日志
syslogd是比较古老的日志记录功能了,现在有加强版的,叫rsyslogd
2.klogd:主要记录内核产生的一些日志
- rsyslogd:
1.支持多线程
2.可以保存至mysql,pgsql,oracle等数据管理系统
3.支持TCP,UDP,SSL,TSL,RELP
4.具有日志过滤的功能
5.自定义输出格式
- 日志记录的格式:
时间 主机 命令 事件
示例:
准备两台服务器:
host1: 172.16.52.65
host2: 172.16.52.63
eg1:将 host2的日志扔到host1上面去
1.host1:
vim /etc/rsyslog.conf
//启用MODULES下的im模块的udp和tcp传输功能
#### MODULES ####
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
2.host2
#### RULES ####
*.info;mail.none;authpriv.none;cron.none @172.16.52.65
eg2:将host1的日志扔到本地的mysql数据库中
1.安装rsyslog与mysql的连接程序包
yum -y install rsyslog-mysql
2.获取库文件,
[root@localhost regular]# rpm -q rsyslog-mysql
rsyslog-mysql-7.4.7-7.el7_0.x86_64
[root@localhost regular]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-7.4.7
/usr/share/doc/rsyslog-mysql-7.4.7/createDB.sql
2.安装配置mysql
[root@localhost regular]# yum install -y mariadb
[root@localhost regular]# vim /etc/my.cnf
[root@localhost regular]# vim /etc/my.cnf
添加: skip_name_resolve = ON
[root@localhost regular]# systemctl start mariadb
3.导入库文件,有两种方法:
方法一:
//直接在shell上通过命令导入
]# mysql < /usr/share/doc/rsyslog-mysql-7.4.7/createDB.sql
方法二:
//进入mysql,通过source导入
MariaDB [(none)]> source /usr/share/doc/rsyslog-mysql-7.4.7/createDB.sql
Query OK, 1 row affected (0.00 sec)
Database changed
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
MariaDB [Syslog]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.02 sec)
MariaDB [Syslog]> GRANT ALL ON Syslog.* TO rsyslog@'172.16.%.%' IDENTIFIED BY 'rsyslog';
Query OK, 0 rows affected (0.00 sec)
在host2上面测试远程成功:
[root@localhost ~]# mysql -ursyslog -h172.16.52.65 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
4.host1:
#### MODULES ####
#Provides ommysql modules
$Modload ommysql
#### RULES ####
//:ommysql:172.16.52.67,Syslog,syslog,syslog :模块:主机地址,数据库名,远程账户名,账户密码,模块前面是冒号,而如果是异步读写的话,后面是 -/filepath,就是短横线
*.info;mail.none;authpriv.none;cron.none :ommysql:172.16.52.65,Syslog,rsyslog,rsyslog
:wq 保存退出
//重载服务
~]# systemctl restart rsyslog
//执行一个产生日志的操作,比如
yum -y install httpd
//进入数据库查看是否生成日志,生成了
MariaDB [Syslog]> USE Syslog
MariaDB [Syslog]> SHOW TABLES;
MariaDB [Syslog]> SELECT * FROM SystemEvents;
eg3:日志图形化管理工具loganalyzer
yum里面没有,要去官网下载,下载完后放在lamp上,前面已经装了mariadb,就不用安装了
1.yum安装lamp
yum install -y httpd php php-mysql
vim /etc/httpd/conf/httpd.conf
//解析php,添加一行
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
:wq 保存退出
//启动httpd服务
~]# systemctl start httpd.service
2.官网下载loganalyzer,解压放在网页根目录,这里是默认的根目录/var/www/html,具体的安装可以查看loganalyzer的安装文档
cd /usr/local/src/
tar xf loganalyzer-3.6.5.tar.gz -C /var/www/html/
cd /var/www/html
mkdir loganalyzer
cp -r loganalyzer-3.6.5/src/* loganalyzer
cp loganalyzer-3.6.5/contrib/*.sh loganalyzer
chmod +x configure.sh secure.sh
./configure.sh
./secure.sh
//到此会生成一个ocnfig.php的空文件,但是需要给予写权限,因为后续网页安装会用到
chmod 666 config.php
3.网页安装,截了主要改动的部分
打开浏览器,输入:http//172.16.52.65/loganalyzer
前面直接next安装就成了,到了step 7,可以根据自己的需要改动一下,截图如下:
继续安装,到最后finish,查看这个statics的时候,无法生成各种状态图,提示缺少php-gd
//到这里我们只需要回到shell:
yum install php-gd -y
//重载服务
systemctl reload httpd.service
刷新页面,就可以成功显示了,如图: