一、Zabbix是什么
Zabbix是一个企业级的开源分布式监控解决方案,由Alexei Vladishev创建,并由Zabbix是一个企业级的开源分布式监控解决方案,由Alexei Vladishev创建,并由Zabbix SIA主导开发和支持。它能够监控众多网络参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康状况和完整性。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报,从而使得系统管理员可以快速定位和解决存在的问题。
二、Zabbix专用词汇
三、Zabbix程序组件
四、安装环境
CentOS7 、 MySQL5.7 、PHP7 、 Nginx
五、安装步骤
1、登录到服务器执行命令,安装 zabbix-server
# 获取 zabbix 5.0 的官方镜像源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 安装 zabbix-server
yum install zabbix-server-mysql -y
2、安装 SCL 存储库
yum install -y centos-release-scl
3、修改 /etc/yum.repos.d/zabbix.repo 文件:
4、安装zabbix-web软件包
yum install -y zabbix-web-mysql-scl
5、登录到MySQL,执行命令,创建zabbx数据库和用户
create database zabbix character set utf8mb4 collate utf8_bin;
grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'password' with grant option;
flush privileges;
exit;
6、修改 /etc/zabbix/zabbix_server.conf 文件,找到以下变量,修改数据库相关的配置
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password
7、初始化zbbix表结构
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -ppassword zabbix
8、添加nginx配置文件,vim /etc/nginx/conf.d/zabbix.conf ,然后重启nginx,systemctl restart nginx
server {
listen 80;
server_name your_domain_or_ip;
root /usr/share/zabbix;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
9、启动zabbix并设置开机自启,浏览器输入地址 ip/setup.php 访问zabbix主页面,根据提示完成初始化,默认登录的账号密码是 Admin zabbix
systemctl start zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
10、在需要监控的服务器上安装zabbix-agent2
# 已获取镜像源则忽略
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 安装zabbix-agent2
yum install -y zabbix-agent2
# 加入到开机自启,并立即启动zabbix-agent2
systemctl enable --now zabbix-agent2
11、修改/etc/zabbix/zabbix_agent2.conf,与zabbix-server建立连接,zabbix web页面添加主机时的主机名称和zabbix_agent2.conf配置文件和服务器主机名要保持一致,然后重启zabbix-agent2,在安装了zabbix-server的服务器上安装zabbix-agent2不用修改配置
# zabbix-server的IP地址
Server=192.168.0.xxx
# zabbix-server的IP地址
ServerActive=192.168.0.xxx
# 当前服务器的主机名
Hostname=hostname
12、在安装了zabbix-server的服务器上使用zabbix-get测试能否获取到监控服务器的系统信息
yum install zabbix-get
# 获取目标服务器的系统信息
zabbix_get -s 监控服务器IP -k system.uname
六、自动注册
- 在一台新的服务器安装好zabbix-agent2,并修改配置/etc/zabbix/zabbix_agent2.conf文件与zabbix-server建立连接
- 进入zabbix-server的web页面,配置 → 动作 → 自动注册动作 → 创建动作
- 添加自动注册条件,这里设置为主机名称包含指定的字符
- 添加操作,依次添加相关的操作细节
- 等待几秒,自动注册就会检测到新的服务器添加到zabbix的主机列表里面
七、自定义监控
-
在安装了zabbix-agent2的需要监控的服务器上添加配置文件,vim /etc/zabbix/zabbix_agent2.d/login.conf ,who|wc -l 命令用于检测当前服务器有多少人登陆,Xshell每开一个会话都会计入一次登陆,login.user是zabbix指令名称
UserParameter=login.user,who|wc -l
-
创建好配置文件后重启zabbix-agent2,在zabbix-server服务器上可以使用命令测试,监控服务器可以多开几个会话,观察zabbix_get返回的数据
zabbix_get -s 监控服务器IP -k login.user
-
创建模板,进入zabbix-server的web页面,配置 → 模板 → 创建模板,参考图示填写数据,然后点击添加
-
创建监控项,点击进入刚刚创建好的模板,监控项 → 创建监控项,参考图示填写数据,名称可以随意,其它的用默认值即可,可以点击测试,输入IP端口,点击获取值进行测试,最后点击添加
-
创建触发器,在刚刚创建好的模板中,触发器→ 创建触发器,参考图示填写数据,名称可以随意,最后点击添加
-
在Xshell中开3个监控服务器IP的会话窗口,观察zabbix报警的问题
参考文档:https://blog.youkuaiyun.com/weixin_44774550/article/details/134693207
https://blog.youkuaiyun.com/m0_67849390/article/details/130192255