zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
zabbix提供好几种数据库的支持,在这里向大家介绍在zabbix中使用mysql。
安装相关依赖包
yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
安装好mysql,具体安装方法可参考我的博客
https://blog.csdn.net/huangbaokang/article/details/80770662
登录数据库,创建帐号和设置权限:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'192.168.8.174' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
添加zabbix用户和组
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -g zabbix -m zabbix
下载软件包
官网提供好几种安装方式,在这里我采用源码包的安装。
https://www.zabbix.com/documentation/4.0/manual/installation/install
跟着文档来操作,我ftp上传并放在/root/hbk/zabbix目录下
[root@localhost zabbix]# pwd
/root/hbk/zabbix
[root@localhost zabbix]# ls
zabbix-4.0.2.tar.gz
解压
[root@localhost zabbix]# tar -zxvf zabbix-4.0.2.tar.gz
[root@localhost zabbix]# cd zabbix-4.0.2
[root@localhost zabbix-4.0.2]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
如果遇到报如下错
checking for libevent support... no
configure: error: Unable to use libevent (libevent check failed)
需要安装一个依赖:
[root@localhost zabbix-4.0.2]# yum install libevent-devel -y
如果遇到
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
执行
yum install -y net-snmp-devel
然后执行make install命令
修改server相关配置,vi /root/hbk/zabbix/zabbix-4.0.2/conf/zabbix_server.conf默认DBPassword是注释的,填写正确的密码
DBPassword=123456
启动server端
[root@localhost zabbix-4.0.2]# zabbix_server
启动agent端
[root@localhost zabbix-4.0.2]# zabbix_agentd
如果有代理,可以启动代理
[root@localhost zabbix-4.0.2]# zabbix_proxy
把前端php页面拷贝放到apache中,如果是rpm包,则apache默认web目录的位置在/var/www/html,如果是源码安装,则对应位置是/usr/local/apache2
[root@localhost php]# cd /root/hbk/zabbix/zabbix-4.0.2/frontends/php
[root@localhost php]# cp -a . /var/www/html/
启动apache服务,在浏览器上http://192.168.8.174:8000/setup.php,用于我的nginx是开启的,我修改了默认的apache端口(80)改成了8000,显示如下:
我们要修改post_max_size,max_execution_time,max_input_time,date.timezone参数
修改php.ini文件,使相关大小符合zabbix所需。
post_max_size 默认是8M 修改为16M
max_execution_time = 30 修改为 300
max_input_time 默认为60 修改为 300
date.timezone 默认是注释的,要修改为PRC或者Asia/Shanghai
保存之后,重启apache服务service httpd restart
,重新再检查一遍,通过。
点击下一步进行数据库配置页面,由于前面mysql安装部分,新建好了zabbix用户,及密码123456,及授权,根据实际ip进行填写。
在这一步是通不过的,因为还没执行相关sql脚本
[root@localhost mysql]# cd /root/hbk/zabbix/zabbix-4.0.2/database/mysql
[root@localhost mysql]# mysql -uroot -p123456 zabbix < schema.sql
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql]# mysql -uroot -p123456 zabbix < images.sql
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql]# mysql -uroot -p123456 zabbix < data.sql
Warning: Using a password on the command line interface can be insecure.
设置/var/www/html/conf/具有写权限
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# chmod -R 777 conf/
自己猜的密码,被我猜对了,以用户admin,密码zabbix登录,登录成功