安装zabbix
zabbix s是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
zabbix特点
编辑
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
Zabbix主要功能:
- CPU负荷
- 内存使用
-磁盘使用
- 网络状况
- 端口监视
- 日志监视
- 服务端端口:10051
- 客户端端口:10050
部署过程
用yum安装nginx
安装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 nginx
安装mysql 5.7
yum安装
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 7.2
安装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 Server
安装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_server
http://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
zabbi部署完成
用户Admin
密码zabbix