zabbix s是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
编辑
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
Zabbix主要功能:
- CPU负荷
- 内存使用
-磁盘使用
- 网络状况
- 端口监视
- 日志监视
服务端端口:10051客户端端口:10050安装nginx源
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm手动创建nginx yum安装源
vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1清空yum源
yum clean all yum list开启服务
yum install nginx -y #安装nginx,默认为nginx-1.12.2 systemctl start nginx systemctl enable nginx查看 nginx文件位置
[root@zabbix ~]# rpm -ql nginxyum安装
yum install -y mariadb-server mariadb开启服务
systemctl enable mariadb.service systemctl start mariadb.service设置mysql密码
mysql_secure_installation Enter current password for root (enter for none): 回车 Set root password? [Y/n] y New password: 设置密码abc123 Re-enter new password: Remove anonymous users? [Y/n] n 是否移除匿名用户 ... skipping. Disallow root login remotely? [Y/n] n 是否关闭日志 ... skipping.shangcc Remove test database and access to it? [Y/n] n 删除数据库 ... skipping. Reload privilege tables now? [Y/n] y 重启加载 ... Success!我们可以进入数据库5.6版
[root@zabbix ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 7 Server version: 5.5.65-MariaDB MariaDB Server安装php源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm建立yum库
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm安装php
yum install -y php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql查看版本
[root@zabbix ~]# php -v PHP 7.2.34 (cli) (built: Oct 1 2020 13:37:37) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies修改php-fpm配置文件,把apache改为nginx
vim /etc/php-fpm.d/www.conf //8 user = nginx //10 group = nginx配置location,在index中添加index.php。以支持index.php的首页
vim /etc/nginx/conf.d/default.conf 10 index index.php index.html index.htm; 30~36 location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }修改PHP配置文件
vim /etc/php.ini 359 expose_php = Off //隐藏php版本 202 short_open_tag = On //支持php短标签 以下为zabbix优化配置要求 368 max_execution_time = 300 //执行时间 378 max_input_time = 300 //接收数据等待时间 389 memory_limit = 128M //每个脚本占用内存 656 post_max_size = 16M //POST数据大小 799 upload_max_filesize = 2M //上传文件大小 800 always_populate_raw_post_data = -1 //需要添加可以用 $HTTP_RAW_POST_DATA 接收post raw data(原始未处理数据) 877 date.timezone = Asia/Shanghai //时区开启服务
systemctl start php-fpm systemctl enable php-fpm systemctl restart nginx测试首页
<?php phpinfo(); ?>http://192.168.136.91/info.php
测试连接数据库
[root@zabbix ~]# vim /usr/share/nginx/html/info.php <?php $link=mysqli_connect('127.0.0.1','root','abc123'); if ($link) echo "连接成功 !!!"; else echo "连接失败 !!!"; ?>注:mysql_connect扩展自 PHP 5.5.0 起已废弃,改用mysqli或pdo_mysql
配置zabbix的数据库
mysql -u root -p CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123'; flush privileges;修改测试文件
[root@zabbix ~]# vim /usr/share/nginx/html/info.php <?php $link=mysqli_connect('127.0.0.1','zabbix','admin123'); if ($link) echo "Zabbix数据库连接成功!"; else echo "Zabbix数据库连接失败!"; ?>解决本地无法登录问题
//有空用户名称占用导致本地无法登录远程可登录
[root@zabbix ~]# mysql -uroot -p MariaDB [(none)]> select user,host from mysql.user; +--------+-----------+ | user | host | +--------+-----------+ | zabbix | % | | root | 127.0.0.1 | | root | ::1 | | | localhost | | root | localhost | | | zabbix | | root | zabbix | +--------+-----------+ 7 rows in set (0.00 sec MariaDB [(none)]> drop user ''@zabbix; MariaDB [(none)]> flush privileges; 刷新安装zabbix
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm安装zabbix服务
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y我们写了一个脚本持续安装
#!/bin/bash while : do yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y if [ $? = 0 ] then echo 安装完成 exit fi done导入数据库脚本
生成数据库文件,注意密码不要输成root的
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix Enter password: admin123配置文件
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf 91 DBHost=localhost //注释去掉 124:DBPassword=admin123 //修改本行配置修正图表中文乱码
vim /usr/share/zabbix/include/defines.inc.php //修正图表中文乱码 :%s /graphfont/kaiti/g //从微软系统下复制相应的字体文件到 /usr/share/zabbix/fonts 目录中注意字体名称要对应配置文件,且注意大小写 cd /usr/share/zabbix/ [root@zabbix zabbix]# mkdir fonts [root@zabbix zabbix]# cd fonts/ [root@zabbix fonts]# rz -E 拖入STKAITI.TTF文件添加权限
cp -r /usr/share/zabbix/ /usr/share/nginx/html/ chown -R zabbix:zabbix /etc/zabbix/ chown -R zabbix:zabbix /usr/share/nginx/ chown -R zabbix:zabbix /usr/lib/zabbix/ chmod -R 755 /etc/zabbix/web/ chmod -R 777 /var/lib/php/session/开启服务
systemctl start zabbix-server.service systemctl enable zabbix-server.service systemctl start zabbix-agent.service systemctl enable zabbix-agent.service systemctl restart php-fpm.service systemctl restart nginx查看端口
[root@zabbix fonts]# netstat -anpl | grep 10051 tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 80363/zabbix_server tcp 0 0 127.0.0.1:10051 127.0.0.1:58020 TIME_WAIT - tcp6 0 0 :::10051 :::* LISTEN 80363/zabbix_serverhttp://192.168.136.91/zabbix/
权限ok
密码admin123
无法创建配置文件问题
[root@zabbix fonts]# cd /etc/zabbix/web/ [root@zabbix web]# rz -E 添加文件 maintenance.inc.php zabbix.conf.php [root@zabbix web]# chmod +x zabbix.conf.php [root@zabbix web]# chown zabbix.zabbix /etc/zabbix/web/zabbix.conf.php systemctl restart zabbix-server.service用户Admin
密码zabbix