基于 Zabbix 实现对日志的收集、监控、报警、触发脚本

基于 Zabbix 实现对日志的收集、监控、报警、触发脚本


简介

zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix 由2部分构成,zabbix server 与可选组件 zabbix agent。

zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在 Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X 等平台上。

必要环境

这里用 CentOS-7

数据库,这里使用 MySQL

webserver,这里使用 nginx

时间

安装 

rpm -ivh zip* unzip* htop* ntp* vim*

时间

Time

# 查看当前系统时间
date

# 查看当前时区
timedatectl status

# 修改时区(立即生效)
timedatectl set-timezone Asia/Shanghai

# 查看硬件时间
hwclock --show

# 同步系统时间和硬件时间(系统时间为标准,重启init6/reboot生效)
hwclock --hctosys
reboot

# 本地时间写入硬件时间(立即生效)
timedatectl set-local-rtc 1

安装、配置 ntp

# 安装 ntp 服务
yum install ntp -y

# 启动 ntp 服务
systemctl start ntpd

# 配置开机启动 ntp
systemctl enable ntpd

# 查看状态
systemctl status ntpd

转移安装包至软件仓库

find /var/cache/yum/ -type f -name "*.rpm"  | xargs cp -t /var/Repository/Repository_rpm

安装 nginx

# 加入 nginx 源
yum install epel-release -y

# 安装 nginx
yum install nginx -y
 
# 配置 nginx 开机启动
systemctl enable nginx
 
# 启动 nginx 服务
systemctl start nginx
 
# 查看 nginx 服务是否启动成功
ps -ef | grep nginx

安装 MySQL

# 安装 yum repo 文件并更新 yum 缓存
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

# 配置禁用 mysql5.7 的仓库,启用 mysql8.0 的仓库
yum install yum-utils -y
yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql80-community

# 下载 MySQL-8 源
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
 
# 检查是否正确启用了仓库
yum repolist enabled | grep mysql
 
# 安装
yum install mysql-community-server
 
# 启动 MySQL 服务
systemctl start mysqld
 
# 配置开机启动
systemctl enable mysqld
 
# 查看 MySQL 密码
grep 'temporary password' /var/log/mysqld.log
 
# 输入密码
mysql -uroot -p
 
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'UUUUXXXX';
exit
 
# 启动 MySQL 服务
systemctl restart mysqld
# 查看
show databases;
 
# 创建数据库
create database mydatabase;
 
# 删除数据库
drop database mydatabase;
 
# 打开、使用数据库
use mydatabase;
 
# 查看数据库表结构
desc student;
 
# 查询表中的记录
select id,name,sex,degree from student;
# 创建初始数据库

mysql -uroot -p

# 创建数据库
create database zabbix character set utf8 collate utf8_bin;

# 给来自 loclhost 的用户 zabbix 分配可对数据库 zabbix 所有表进行所有操作的权限,并且设定密码为 password

# MySQl-5.7
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

# MySQl-8
create user 'zabbix'@'localhost' identified by 'password';
grant all privileges on zabbix.* to 'zabbix'@'localhost';

# 刷新
flush privileges;

quit;

# 收回某种权限的写法是:
revoke select  on *.* from 'zabbix'@’localhost’;

配置防火墙

# 查看防火墙【服务】状态
systemctl status firewalld
 
# 查看防火墙【运行】状态
firewall-cmd --state
 
# 开启
service firewalld start
 
# 重启
service firewalld restart
 
# 临时关闭
service firewalld stop

# 永久关闭
systemctl disable firewalld.service

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
 
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080-8085/tcp
 
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
 
# 查看防火墙的开放的端口
firewall-cmd --permanent --list-ports
 
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

配置 SELinux

# 临时关闭 SELinux
setenforce 0
 
# 临时打开 SELinux
setenforce 1
 
# 查看 SELinux 状态
getenforce
 
# 开机关闭 SELinux
# 编辑 /etc/selinux/config 文件,将 SELinux 的值设置为 disabled。

vi /etc/selinux/config

SELINUX=disabled

安装 Zabbix 源

官网:https://repo.zabbix.com/

清华大学源:https://mirror.tuna.tsinghua.edu.cn/zabbix/

rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

安装 Zabbix server,Web 前端,agent

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent zabbix-get zabbix-web zabbix-sender
========================================================================================================================================
 Package                               架构                     版本                                    源                         大小
========================================================================================================================================
正在安装:
 zabbix-agent                          x86_64                   4.4.8-1.el7                             zabbix                    433 k
 zabbix-nginx-conf                     noarch                   4.4.8-1.el7                             zabbix                    230 k
 zabbix-server-mysql                   x86_64                   4.4.8-1.el7                             zabbix                    2.5 M
 zabbix-web-mysql                      noarch                   4.4.8-1.el7                             zabbix                     11 k
为依赖而安装:
 OpenIPMI                              x86_64                   2.0.27-1.el7                            base                      243 k
 OpenIPMI-libs                         x86_64                   2.0.27-1.el7                            base                      523 k
 OpenIPMI-modalias                     x86_64                   2.0.27-1.el7                            base                       16 k
 apr                                   x86_64                   1.4.8-5.el7                             base                      103 k
 apr-util                              x86_64                   1.5.2-6.el7                             base                       92 k
 fping                                 x86_64                   3.10-4.el7                              epel                       46 k
 httpd                                 x86_64                   2.4.6-93.el7.centos                     base                      2.7 M
 httpd-tools                           x86_64                   2.4.6-93.el7.centos                     base                       92 k
 libevent                              x86_64                   2.0.21-4.el7                            base                      214 k
 libzip                                x86_64                   0.10.1-8.el7                            base                       48 k
 mailcap                               noarch                   2.1.41-2.el7                            base                       31 k
 net-snmp-libs                         x86_64                   1:5.7.2-48.el7_8                        updates                   751 k
 php                                   x86_64                   5.4.16-48.el7                           base                      1.4 M
 php-bcmath                            x86_64                   5.4.16-48.el7                           base                       58 k
 php-cli                               x86_64                   5.4.16-48.el7                           base                      2.7 M
 php-common                            x86_64                   5.4.16-48.el7                           base                      565 k
 php-fpm                               x86_64                   5.4.16-48.el7                           base                      1.4 M
 php-gd                                x86_64                   5.4.16-48.el7                           base                      128 k
 php-ldap                              x86_64                   5.4.16-48.el7                           base                       53 k
 php-mbstring                          x86_64                   5.4.16-48.el7                           base                      506 k
 php-mysql                             x86_64                   5.4.16-48.el7                           base                      102 k
 php-pdo                               x86_64                   5.4.16-48.el7                           base                       99 k
 php-xml                               x86_64                   5.4.16-48.el7                           base                      126 k
 t1lib                                 x86_64                   5.1.2-14.el7                            base                      166 k
 unixODBC                              x86_64                   2.3.1-14.el7                            base                      413 k
 zabbix-web                            noarch                   4.4.8-1.el7                             zabbix                    2.9 M

配置数据库

# 导入初始架构和数据,系统将提示您输入新创建的密码

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p zabbix

配置

Zabbix 后端

# 为 Zabbix server 配置数据库

vim /etc/zabbix/zabbix_server.conf

DBPassword=password

# 为 Zabbix 前端配置 PHP

# 1

vim /etc/nginx/conf.d/zabbix.conf

# listen 80;
# server_name example.com;

# 2

vim /etc/php-fpm.d/zabbix.conf

php_value[date.timezone] = Asia/Shanghai

# 3

vim /etc/php.ini

878

date.timezone = Asia/Shanghai

启动 Zabbix server 和 agent 进程

systemctl restart zabbix-server zabbix-agent nginx php-fpm

systemctl enable zabbix-server zabbix-agent nginx php-fpm
journalctl -xe

#
# 错误
#
Cannot connect to the database.
Error connecting to database: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
#
#
#

# 修改加密规则  
ALTER USER zabbix@localhost IDENTIFIED WITH mysql_native_password BY 'password';

# 刷新
flush privileges;

配置 Zabbix 前端
浏览器

账号:Admin
密码:zabbix

原创文章 39 获赞 4 访问量 6129

猜你喜欢

转载自blog.csdn.net/qu6zhi/article/details/105831297