1、zabbix监控介绍
zabbix是一个跨平台,支持分布式,可以集中管理,可以画图,能够持久化保存数据,多条件告警,多种API接口,扩展性非常强。Zabbix 使用简单,通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。
官网地址: https://www.zabbix.com/
2、监控原理
- zabbix-server平台根据监控项发指令给zabbix-agent
- zabbix-agent安装在被监控的主机上,agent负责定期收集客户端本地各项数据,并发送至zabbix server
- zabbix-server接收数据并将数据存储到数据库中,当zabbix监控某个具体的项目,项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的告警动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)。
- zabbix-web用户通过web页面可以看到数据在前端展现的图像
3、部署zabbix监控平台
zabbix-server:192.168.4.10(CentOS7) 关闭防火墙、selinux
3.1、安装zabbix下载源
[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@zabbix-server ~]# yum clean all
2)安装Zabbix server,Web前端,agent
[root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
3.2、创建初始数据库
[root@zabbix-server ~]# yum install mariadb-server.x86_64
[root@zabbix-server ~]# systemctl start mariadb.service
[root@zabbix-server ~]# systemctl enable mariadb.service
[root@zabbix-server ~]# mysqladmin -u root password '123456'
[root@zabbix-server ~]# mysql -u root -p
Enter password:
# 数据库主机上运行以下代码
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by 'password';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
MariaDB [(none)]> exit
# 导入初始架构和数据,系统将提示您输入新创建的密码
[root@mysql ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
3.3、zabbix相关配置
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
124 DBPassword=123456 # 为zabbix server配置数据库
[root@zabbix-server ~]# vim /etc/httpd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Shanghai # 为zabbix前端配置PHP
1)启动zabbix server 和agent进程,并设置开机自启
[root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent httpd
[root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd
3.4、安装前端
1)在浏览器中,打开Zabbix URL:http://<server_ip_or_name>/zabbix
2)确保满足所有软件先决条件。
先决条件 最小值 描述 版本 5.4.0 PHP memory_limit 选项 128兆字节 在 php 中.ini:
memory_limit = 128MPHP post_max_size 选项 16兆字节 在 php 中.ini:
post_max_size = 16MPHP upload_max_filesize 选项 2兆字节 在 php 中.ini:
upload_max_filesize = 2MPHP max_execution_time 选项 300 秒(允许值 0 和 -1) 在 php 中.ini:
max_execution_time = 300PHP max_input_time 选项 300 秒(允许值 0 和 -1) 在 php 中.ini:
max_input_time = 300PHP session.auto_start 选项 必须禁用 在 php 中.ini:
session.auto_start = 0数据库支持 其中之一:MySQL,Oracle,PostgreSQL,IBM DB2 必须安装以下模块之一:
mysql、oci8、pgsql、ibm_db2bcmath php-bcmath mbstring php-mbstring PHP mbstring.func_overload 选项 必须禁用 在 php 中.ini:
mbstring.func_overload = 0PHP always_populate_raw_post_data 选项 必须禁用 仅 PHP 版本 5.6.0 或更高版本需要。
在 php 中.ini:
always_populate_raw_post_data = -1插座 php-net-socket.对于用户脚本支持是必需的。 gd 2.0 或更高版本 php-gd.PHP GD 扩展必须支持 PNG 图像 (--with-png-dir)、JPEG (--with-jpeg-dir) 图像和 FreeType 2 (--with-freetype-dir)。 libxml 2.6.15 php-xml 或 php5-dom xmlwriter php-xmlwriter xmlreader php-xmlreader c型 php-ctype 会期 php 会话 获取文本 php-gettext
从Zabbix 2.2.1开始,PHP gettext扩展不是安装Zabbix的强制性要求。如果未安装 gettext,则前端将照常工作,但是,翻译将不可用。列表中也可能存在可选的先决条件。失败的可选先决条件显示为橙色,并具有“警告”状态。如果可选先决条件失败,则安装程序可能会继续。
注意:如果需要更改 Apache 用户或用户组,则必须验证对会话文件夹的权限。否则,Zabbix安装程序可能无法继续。
3) 输入有关连接到数据库的详细信息。必须已经创建了Zabbix数据库,密码“123456”。
4) 输入Zabbix服务器详细信息。输入Zabbix服务器的名称是可选的,但是,如果提交,它将显示在菜单栏和页面标题中。
5)查看设置摘要。
6)完成安装
8)Zabbix前端已经准备好了!默认用户名是 Admin,密码 zabbix
9)设置中文界面