简介
Zabbix是一个开源的主机状态监控软件,能够分布式监视以及WEB集中管理、自动发现添加网络设备及异常状态消息通知,主要功能:
CPU负荷
内存使用
磁盘使用
网络状况
端口监视
日志监视
安装
zabbix的安装方式有容器、源码编译和部署包安装,这里只记录一下centos7系统下部署包的安装的方式,其他方式的安装方法官网有详细介绍。
添加yum源
4.0版本: rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
3.0版本: rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
安装服务组件: yum -y install zabbix-server-mysql zabbix-get
安装web组件:
依赖:yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml mariadb-server
web包:yum install zabbix-web zabbix-web-mysql
mariadb数据库环境搭建
# mysql -uroot -p
[password]
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;
创建需要用到的表
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
修改zabbix-server的配置文件(/etc/zabbix/zabbix_server.conf,这些只是运行所需要的基本选项)
SourceIP
DBHost
DBName
DBPassWord
配置httpd(zabbix比较贴心在httpd的conf.d目录下添加了默认的配置文件,只要将时区稍加改动就能直接使用了,这里将其加入了虚拟主机)
<VirtualHost ----- >
servername -----
Documentroot /usr/share/zabbix
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
**php_value date.timezone Asia/Shanghai**
</IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/app">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/local">
Require all denied
</Directory>
</VirtualHost>
注:zabbix-server 为服务端,获取agent客户端的状态信息予以记录呈现:1、server端的测试工具为:zabbix_get;agent端的测试工具为zabbix_sender,需要分布单独安装;2、安装zabbix-server的主机需要通过server监控自己主机的状态也需要安装运行zabbix-agent才行;3、zabbix的web需要httpd提供服务才能访问,不要忘记启动httpd;4、zabbix-server需要监控所在主机,zabbix-agent的配置文件中的Server=[IP]要与zabbix-server配置文件中的SourceIP相同(若是127.0.0.1,则都为127.0.0.1,如果需要监控其他主机,将SourceIP改为对外IP,则所在主机agent配置文件也要修改为对外IP)
监控报警功能的实现流程:
1、添加监控主机(配置-主机):手动添加或者自动发现
2、添加监控项(配置-主机-监控项):各种键值的功能及使用方法
3、添加触发器(配置-主机-触发器):触发器表达式的构成及功能函数的作用
4、触发器触发后生成事件
5、事件发生后要进行的操作:a、设置条件 b、执行指定动作(发送信息或远程命令:自定义脚本)
其实就是: Trigger --> Event --> Action