zabbix说明
zabbix监控说明
- 主机 :监控的主机
- 主机组:主机的逻辑分组,可以关联template批量设置主机
- Item:监控项,也为采集项。一个item用一个key表示
- template: 监控模板,把监控项组合在一起
- trigger:触发器,一个条件表达式,当item(监控项)的值处于合理范围内为fail,当item的值不在合理范围内,则会触发event此值变为ok。
- event: 事件,当触动触发器时,会有event产生,action(动作)监控有event,会对应不同的event执行不同的动作。
- action:动作,当有event产生时,会触发action,来执行相应的动作。如执行远程命令,进行简单恢复操作。或者通过media(媒介)通知管理员
- media:媒介,告警通知的方式,如短信,邮件,微信,钉钉
- 告警升级: zabbix每5分钟,发送一次邮件,实现告警升级
zabbix组件说明
- zabbix_agent: zabbix采集主机信息的客户端
- zabbix_server:zabbix服务的核心组件,用于接收采集的数据,并把数据存放到数据库
- zabbix_web: zabbix的GUI,用展示采集的数据,和定义采集项
- zaabix_database:用来存放采集的数据,和zabbix_web定义的监控项(采集项)
zabbix_server可以通过icmp/imap/snmp来直接采集硬件信息,无需安装zabbix_agent。也可以通过jmx采集java 虚拟机信息,不过需要java代码引用jmx的类库
zabbix获取数据说明
主动模式
zabbix_agent主动去push采集的数据,到zabbix_server。zabbix_server需要开启许多子进程与zabbix_agent建立连接。采用push模型,agent推送数据时,需要告诉server。我是谁(主机名字),和我推送的数据是什么(告诉server我的监控项),且agent不管server是否繁忙,采集到数据就推送到server端
被动模式
zabbix_server主动去zabbix_agent端拉取数据,zabbix_server也要开启许多子进程去拉取数据。因为一个agent的监控项有许多个。
zabbix-server开启的子进程,为poller,及轮询进程
zabbix安装
环境说明
zabbix 5.0 LTS
OS: CentOS 7.6
web: nginx
安装步骤
安装yum源
注: 本地要有base和epel源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's/repo.zabbix.com/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
安装zabbix-server,database,web
yum -y install mariadb-server zabbix-server-mysql zabbix-agent centos-release-scl zabbix-web-mysql-scl zabbix-nginx-conf-scl
#注意
要打开zabbix.repo中前端的镜像仓库把enabled改为1
centos-release-scl为web页面
创建数据库
vim /etc/my.cnf
[mysqld]
skip-name-resolve
systemctl start mariadb
systemctl enable mariadb
mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'czagz';
导入zabbix数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
create.sql.gz 文件由zabbix-server-mysql提供
[root@zabbix-server conf.d]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-5.0.14
/usr/share/doc/zabbix-server-mysql-5.0.14/AUTHORS
/usr/share/doc/zabbix-server-mysql-5.0.14/COPYING
/usr/share/doc/zabbix-server-mysql-5.0.14/ChangeLog
/usr/share/doc/zabbix-server-mysql-5.0.14/NEWS
/usr/share/doc/zabbix-server-mysql-5.0.14/README
/usr/share/doc/zabbix-server-mysql-5.0.14/create.sql.gz
/usr/share/doc/zabbix-server-mysql-5.0.14/double.sql
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
修改nginx和php配置文件
nginx和php的配置文件和安装包,有zabbix自动安装
/etc/opt/rh/rh-nginx116
/etc/opt/rh/rh-php72
修改nginx配置文件
cd /etc/opt/rh/rh-nginx116/conf.d
vim zabbix.conf
打开listen 监听端口和server_name主机名字
修改php配置文件
cd /etc/opt/rh/rh-php72/php-fpm.d
vim zabbix.conf
listen.acl_users = apache,nginx //把授权的用户加上nginx
php_value[date.timezone] = Asia/ShangHai //修改时区
启动服务
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
web页面访问
由于本机测试环境使用的是nginx8080端口,浏览器输入 10.0.0.100:8080即可。

image.png
注:zabbix默认用户名/密码 Admin/zabbix