基于 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
# 查看
sh