目录
修改 zabbix server 配置文件,修改数据库的密码:
我们需要zbx目录授予web服务的用户的权限,使得web能够识别管理网页页面:
添加 zabbix 客户端主机,在开启一台服务器192.168.233.20:
给客服及设置 zabbix 的下载源,安装 zabbix-agent2:
到?/etc/zabbix/zabbix_agent2.d/目录下添加.conf结尾的文件:
zabbix :?是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix 由 2 部分构成:zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
zabbix server(端口10051):zabbix服务端进程,用于配置和管理zabbix应用程序,也是监控系统的告警中心(需要配置监控项告警触发阈值和发送告警)
zabbix database:持久化存储配置信息和监控指标数据(支持mysql oracle gpdb tsdb等)
zabbix web:用于zabbix服务端配置界面和监控数据的UI界面展示(支持LAMP/LNMP)
zabbix agent(端口10050):部署在被监控的主机上,采集监控指标数据,并发送给zabbix server(数据采集支持主动模式和被动模式)
zabbix agent 主动向 zabbix server 请求监控项列表,并主动将监控项需要的数据发送给 zabbix server
zabbix agent 被动接收 zabbix server 请求的监控项列表,zabbix agent 发送监控项需要的数据发送给 zabbix server
zabbix proxy:zabbix代理端进程,部署在zabbix server与zabbix agent之间,代替zabbix server接收zabbix agent发送的监控数据并存储在本地,汇总后再转发给 zabbix server,从而可以分担zabbix server的集中式负载压力
zabbix java gateway:用于获取从通过JMX在JAVA应用暴露的端口采集监控数据
zabbix agent 会定期采集被监控主机的指标数据并发送给 zabbix server,zabbix server 接收数据后会存储到 zabbix database 里,管理员可基于 zabbix web 即可在浏览器查看到监控数据的图像。
zabbix agent 安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后, 将数据存储到数据库中,用户基于 Zabbix Web 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值, 当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、 install 等)。
修改主机名:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath
创建目录:
<?php
phpinfo();
?>
开启nginx,php:
修改windows的解析文件:
访问页面:
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
开启数据库:
初始化数据库:
分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
创建数据库并指定字符集:
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
mysql -uroot -p123 zabbix < schema.sql
mysql -uroot -p123 zabbix < images.sql
mysql -uroot -p123 zabbix < data.sql
mysql -uroot -p123 zabbix < double.sql
mysql -uroot -p123 zabbix < history_pk_prepare.sql
编译安装 zabbix Server 服务端:
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make
创建用户:
编译安装:
./configure \
--sysconfdir=/etc/zabbix/ \
--enable-server \
--with-mysql \
--with-net-snmp \
--with-libxml2 \
--with-ssh2 \
--with-openipmi \
--with-zlib \
--with-libpthread \
--with-libevent \
--with-openssl \
--with-ldap \
--with-libcurl \
--with-libpcre
装完后可以看得直接make install:
准备 systemctl 服务管理文件:
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
切换到该路径下,查看下:
发现没有zabbix的日志,需要创建,并授予zabbix的权限用户:
ui目录下是zabbix的网页内容:
到/var/www/zbx下看下:
选择中文:
密码之前设置的也是zabbix:
随便写个主机名称:
管理员进入固定是Admin,密码为zabbix:
这就是zabbix监控的首页:
先去官网查看如何下载,选择性能更好的agent2:
会有提示你如何下载:
我们直接复制安装:
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
安装组件:
yum install zabbix-agent2 zabbix-agent2-plugin-*
安装好之后开启agent2服务:
发现警告没有了,这样就解决了。
发现中午乱码:
为了解决这问题,需要下载组件:
\cp -af wqy-microhei.ttc /var/www/zbx/assets/fonts/DejaVuSans.ttf
切换目录查看下:
刷新网页查看下:
先保证两台机器的时间同步:
两台下载ntp软件:
进行同步:
修改双方的hosts文件,添加域名,改为一样的即可:
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum install zabbix-agent2 zabbix-agent2-plugin-*
在服务端安装工具,主动获取数据:
访问下页面查看有哪些键值:
任意点击一个名称:
点击监控项:
创建:
常用的键值:
agent.ping?? ??? ??? ??? ??? ??? ??? ?服务端与客户端是否连通,返回1表示可达,返回非表示不可达
system.hostname?? ??? ??? ??? ?系统主机名
agent.hostname?? ??? ??? ??? ???客户端主机名
net.if.in[if,<mode>]? ? ? ? ? ? ? ?网络接口进入的流量统计,if表示网卡名称,带<>的参数表示可以省略
net.if.out[if,<mode>]?? ??? ????网络接口流出的流量统计
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]?? ?进程数
net.tcp.port[<ip>,port]? ? ? ? ? 检查是否能建立tcp连接到指定端口,返回0表示不能连接,返回1表示可以连接
我们会看到agent01可用性有个没有显示,因为还没刷新到数据,需要等会刷新即可:
https://share.zabbix.com/
https://monitoringartist.github.io/zabbix-searcher/
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates
自定义监控客户端服务器登录的人数:限制登录人数不超过 3 个,超过 3 个就发出报警信息
客服机查看下登录user数:
查看统计数:
重启服务:
在进行服务端测试:
查看客户端:
我们杀掉成2个进行测试:
可以进行测试:
点击添加,会显示成功:
点击添加完成:
选择主机:
再看下:
看下监控数据:
不会有告警:
继续添加:
查看状况:
问题用户超过三个:
登录qq邮箱:
测试邮箱:
点击测试:
查看下邮箱:
点击添加后:
点击添加完后:
设置完后再进行测试:
先将用户恢复为2个:
添加窗口:
看下监控:
查看下邮箱: