标签:run cps local 初始化 ide 用户创建 use 客户 show
日志功能对于操作系统是相当重要的,在日常运维工作中,无论是系统还是应用等出了任何问题,我们首先想到的便是分析日志,查找问题原因。自从CentOS 6系统开始,CentOS便开始使用rsyslog做为日志收集服务了,相对于之前的syslog它能够支持多线程,数据库存储,支持更多了传输协议等等优点。之前介绍了Linux下rsyslog日志收集服务环境部署记录,下面再结合LogAnalyzer进行部署说明。
LogAnalyzer 则是一款基于 PHP 开发的 syslog 日志和其他网络事件数据的 Web 前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。将rsyslog和loganalyzer整合起来,能够搭建一个日志收集管理服务器,用来应对小型的日志数据收集分析。下面以rsyslog收集远程服务器上的nginx日志为例进行说明:
在192.168.10.239服务器上部署rsyslog+loganalyzer环境,用于收集远程服务器192.168.10.200服务器上的nginx日志,其中: 192.168.10.239是centos7.2系统,主机名为rsyslog。 192.168.10.200是centos6.8系统,主机名为gitlab-test,nginx日志为/var/opt/gitlab/nginx/logs/gitlab_access.log。 192.168.10.239是rsyslog的服务端,作为日志的接收端。 192.168.10.200是rsyslog的客户端,作为日志的推送短。 下面说下部署过程: 一、rsyslog客户端部署(192.168.10.200) 0)关闭防火墙和selinux [root@gitlab-test ~]# /etc/init.d/iptables stop [root@gitlab-test ~]# chkconfig iptables off [root@gitlab-test ~]# setenforce 0 [root@gitlab-test ~]# cat /etc/sysconfig/selinux |grep "SELINUX=disabled" SELINUX=disabled 1)安装和配置rsyslog [root@gitlab-test ~]# yum install rsyslog -y [root@gitlab-test ~]# cp /etc/rsyslog.conf /etc/rsyslog.conf.bak [root@gitlab-test ~]# vim /etc/rsyslog.conf ...... $ModLoad imfile #装载imfile模块,这一行手动添加 ...... *.info;mail.none;authpriv.none;cron.none;local5.none /var/log/messages #手动添加local5.none ...... #在文件底部添加 $InputFileName /var/opt/gitlab/nginx/logs/gitlab_access.log $InputFileTag web_access $InputFileSeverity info $InputFileStateFile /etc/rsyslog.d/stat-access $InputFileFacility local5 $InputFilePollInterval 1 $InputFilePersistStateInterval 1 $InputRunFileMonitor local5.* @192.168.10.239 重启rsyslog服务 [root@gitlab-test ~]# /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ] 由于作为日志的推送端,rsyslog日志不需要开启514端口(如上在rsyslog.conf文件里没有打开dup或tcp的514端口) [root@gitlab-test ~]# lsof -i:514 [root@gitlab-test ~]# 二、rsyslog服务端部署(192.168.10.239) 0)关闭防火墙 [root@rsyslog ~]# systemctl stop firewalld [root@rsyslog ~]# systemctl disable firewalld [root@rsyslog ~]# firewall-cmd --state not running [root@rsyslog ~]# setenforce 0 [root@rsyslog ~]# cat /etc/sysconfig/selinux |grep "SELINUX=disabled" SELINUX=disabled 1)安装数据库 [root@rsyslog ~]# yum install mariadb mariadb-server -y 启动并初始化数据库(root密码默认设置为123456) [root@rsyslog ~]# systemctl start mariadb.service [root@rsyslog ~]# /bin/mysql_secure_installation 添加数据库和用户 [root@rsyslog ~]# mysql -uroot -p123456 ...... MariaDB [(none)]> create database rsyslog character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on rsyslog.* to ‘rsyslog‘@‘localhost‘ identified by ‘rsyslog‘;flush privileges; MariaDB [(none)]> 安装rsyslog的MySQL扩展程序包rsyslog-mysql [root@rsyslog ~]# yum install rsyslog-mysql -y 将rsyslog的MySQL表导入创建的rsyslog数据库,并给予用户权限 [root@rsyslog ~]# ll /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql -rw-r--r-- 1 root root 1046 Apr 15 2016 /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql [root@rsyslog ~]# mysql -uroot -p123456 < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql [root@rsyslog ~]# mysql -uroot -p123456 ...... MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | Syslog | | mysql | | performance_schema | | rsyslog | +--------------------+ MariaDB [(none)]> grant all privileges on Syslog.* to ‘rsyslog‘@‘localhost‘ identified by ‘rsyslog‘;flush privileges; 测试登录 [root@rsyslog nginx]# mysql -ursyslog -hlocalhost -prsyslog ...... MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | Syslog | | rsyslog | +--------------------+ 2)安装和配置rsyslog [root@rsyslog ~]# yum install rsyslog -y [root@rsyslog ~]# cp /etc/rsyslog.conf /etc/rsyslog.conf.bak [root@rsyslog ~]# vim /etc/rsyslog.conf ...... $ModLoad ommysql #添加该模块 *.* :ommysql:localhost,Syslog,rsyslog,rsyslog #所有日志:ommysql:数据库地址,数据库名,数据库用户,数据库用户密码 ...... $ModLoad imudp #tcp和udp两个端口模块同时使用! $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514 #定义一个模板用来指定接收的日志消息的格式(默认会在记录的日志前加几个字段) $template SpiceTmpl,"%msg%\n" ##%msg:2:$%为去掉日志开头的空格 #定义一个模板用来指定接收的日志文件的存放路径%……%之间的是定义日志按照年-月-日命名 $template DynaFile,"/data/rsyslog/nginx/%$YEAR%-%$MONTH%-%$DAY%.log" ...... *.info;mail.none;authpriv.none;cron.none;local5.none /var/log/messages #手动添加local5.none,即不记录local5设施的日志 ...... local5.* ?DynaFile;SpiceTmpl 编辑/etc/sysconfig/rsyslog中"SYSLOGD_OPTIONS="开启远程日志接收功能 [root@rsyslog ~]# vim /etc/sysconfig/rsyslog ...... SYSLOGD_OPTIONS="-c 5" 创建日志接收过来后定义的存放目录 [root@rsyslog ~]# mkdir -p /data/rsyslog/nginx 重启rsyslog服务 [root@rsyslog ~]# systemctl restart rsyslog.service [root@rsyslog ~]# lsof -i:514 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd 26120 root 3u IPv4 243261 0t0 UDP *:syslog rsyslogd 26120 root 4u IPv6 243262 0t0 UDP *:syslog rsyslogd 26120 root 5u IPv4 243265 0t0 TCP *:shell (LISTEN) rsyslogd 26120 root 6u IPv6 243266 0t0 TCP *:shell (LISTEN) 然后查看下日志是否收集过来了(客户端日志文件要有新日志内容刷入) [root@rsyslog ~]# ll /data/rsyslog/nginx/ total 36 -rw------- 1 root root 33430 Jul 2 10:48 2018-07-02.log 3)准备web环境 [root@rsyslog ~]# yum install httpd php php-mysql php-gd -y 下载loganalyzer [root@rsyslog ~]# yum install unizp -y [root@rsyslog ~]# wget https://github.com/rsyslog/loganalyzer/archive/master.zip [root@rsyslog ~]# du -sh master.zip 3.0M master.zip [root@rsyslog ~]# unzip master.zip [root@rsyslog ~]# \cp -rf loganalyzer-master/src/* /var/www/html/ [root@rsyslog ~]# cd /var/www/html/ [root@rsyslog html]# touch config.php [root@rsyslog html]# chmod 666 config.php [root@rsyslog html]# systemctl start httpd 4)接着访问http://192.168.10.239,进入浏览器页面配置
点击之后,提示开始检查
配置文件检查,注意上面创建的config.php文件需要授予666权限,如果没有写权限,则会报错提示!LogAnalyzer 的基本配置,此处配置的数据库为 LogAnalyzer 的数据库,也就是我们自己建的 rsyslog 数据库。数据库名称,用户名及密码都是rsyslog。
如果数据库能正常连接,那么就会显示正常了,如果数据库连接出错,则会提示错误原因,点击 Next 继续下一步。
连接数据库成功后,会自动创建数据库表,提示 24 条成功,0 失败。
创建登录用户
登录用户创建成功后,接着是填写日志信息的数据库信息,也就是我们导入 sql 文件所创建的 Syslog 数据库。请注意大小写,监控表为 SystemEvents,默认为小写,会出错!
继续下一步就会提示成功啦,然后点击here,进行登录,便能进入查看了。
标签:run cps local 初始化 ide 用户创建 use 客户 show
原文地址:https://www.cnblogs.com/kevingrace/p/9252961.html