咱们事先规划好两台主机,分别为:php
server-1:192.168.1.135html
server-2:192.168.1.136前端
将server-1做为客户端进行日志收集,导入到server-2的MySQL数据库中,并经过LogAnalyzer进行前端的web展现。mysql
首先是对于server-2的配置linux
安装LNMPnginx
yum install nginx php -php-fpm php-mysql mysql-server mysql -yweb
//这里为啥要安装php-fpm,由于php-fpm,是nginx和php的桥梁,php-fpm(快速进程管理),php-fpm默认进程为127.0.0.1:9000,sql
//一会php和php-fpm安装完成后,要配置nginx的配置文件,让其遇到客户端php请求是,转发给php-fpm(127.0.0.1:9000),php-fpm再让php解析完成,最后又给nginx.数据库
启动数据库vim
systemctl start mysqld
加入开机自启动
systemctl enable mysqld
配置数据库密码
[root@server-2 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
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 [mysql]> update user set password=password('123456') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> grant all on *.* to 'rsyslog'@'%' identified by 'password123';//建立用户并授予
Query OK, 0 rows affected (0.02 sec)
MariaDB [mysql]> exit;
Bye
配置nginx
[root@server-2 ~]# cd /etc/nginx/
[root@server-2 nginx]# egrep -v "#|^$" nginx.conf.default >nginx.conf
[root@server-2 nginx]# vim nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
检查配置文件语法并启动
[root@server-2 nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server-2 nginx]# nginx
[root@server-2 nginx]# service php-fpm start
Redirecting to /bin/systemctl start php-fpm.service
检查端口启动状况
[root@server-2 nginx]# ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9000 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
在firewalld中容许端口80,3306,22经过
[root@server-2 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@server-2 ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@server-2 ~]# firewall-cmd --zone=public --add-port=22/tcp --permanent
success
[root@server-2 ~]# firewall-cmd --reload
success
查看防火墙开放端口列表
[root@server-2 ~]# firewall-cmd --zone=public --list-ports
80/tcp 3306/tcp 22/tcp
关闭selinux
[root@server-2 ~]# setenforce 0
[root@server-2 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
建立PHP测试页,检查nginx和php的链接状况;
[root@server-2 html]# echo "<?php phpinfo(); ?>" >test.php
访问动态网页
客户端的配置
在客户端主机server-1上192.168.1.135
检查rsyslog是否安装,默认是安装过的
[root@server-1 ~]# rpm -qa rsyslog
rsyslog-8.24.0-34.el7.x86_64
[root@server-1 ~]# yum install rsyslog-mysql mysql -y //rsyslog使用此模块将数据传入MySQL数据库,必须安装;最小化安装,没有mysql命令,此操做就是为了有mysql命令,能够链接数据库
导入库文件 ,使用rsyslog用户
[root@server-1 ~]# mysql -h192.168.1.136 -ursyslog -ppassword123 </usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
登陆数据库查看库是否存在
vim /etc/rsyslog.conf
.......
#### MODULES ####
# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$ModLoad ommysql
#$ModLoad imklog # reads kernel messages (the same are read from journald)
#$ModLoad immark # provides --MARK-- message capability
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
......
#### RULES ####
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.1.136,Syslog,syslog,password123
# The authpriv file has restricted access.
.......
添加mysql模块ommysql
取消注释使用udp协议的514端口通讯
指明发送的主机,数据库,用户名,密码
配置完毕,启动rsyslog
systemctl start rsyslog
在server-2端192.168.1.136安装LogAnalyzer
下载LogAnalyzer v4.1.6 官网地址:http://loganalyzer.adiscon.com/downloads/
[root@server-2 home]# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz #下载安装包。
安装LogAnalyzer
[root@server-2 home]# tar -xf loganalyzer-4.1.6.tar.gz
[root@server-2 home]# ll
total 2788
drwxrwxr-x. 5 root root 90 Nov 6 2017 loganalyzer-4.1.6
-rw-r--r--. 1 root root 2852860 Nov 6 2017 loganalyzer-4.1.6.tar.gz
配置loganalyze
cp -r /home/loganalyzer-4.1.6/src/* /usr/share/nginx/html/
cp -r /home/loganalyzer-4.1.6/contrib/* /usr/share/nginx/html/
cd /usr/share/nginx/html/
chmod +x *.sh
./configure.sh
./secure.sh
chmod 666 config.php