关于服务器监控的文章写过很多了,例如:nagios,munin,cacti等,有兴趣的在博客里面搜索一下。
一,zabbix服务端安装
1,zabbix是什么
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
2,关闭selinux和防火墙
# systemctl stop firewalld //停止 # systemctl disable firewalld //关闭自启动 # iptables -L //查看 # sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config //关闭selinux,最好重启下
3,安装源
# yum install epel-release # yum install centos-release-scl
centos-release-scl这个源可以装php72,根zabbix有依赖关系,不建议其他的源装php,如果不用就会报以下错误
--> 解决依赖关系完成
错误:软件包:zabbix-web-mysql-scl-5.0.6-1.el7.noarch (zabbix-frontend)
需要:rh-php72-php-mysqlnd
4,安装mysql
# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # rpm -ivh mysql57-community-release-el7-11.noarch.rpm # yum install mysql-community-server mysql mysql-community-devel # systemctl start mysqld && systemctl enable mysqld # grep 'temporary password' /var/log/mysqld.log 2020-12-07T05:55:40.116097Z 1 [Note] A temporary password is generated for root@localhost: r:d+TA2tWG6g # mysql -u root -p mysql> alter user 'root'@'localhost' identified by '*******';
在这里要注意,centos7默认安装的是mariadb的。如果已经装了mariadb,删除掉yum remove mariadb mariadb-libs
5,安装zabbix5
# wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm # rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm # vim /etc/yum.repos.d/zabbix.repo [zabbix-frontend] name=Zabbix Official Repository frontend - $basearch baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend enabled=1 //0改成1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 # yum clean all # yum makecache # yum install zabbix-server-mysql zabbix-agent2 zabbix-web-mysql-scl zabbix-nginx-conf-scl //安装
在这里要注意,zabbix5.2和zabbix5.1已经出了,但是有很多包没有,或者是beta版,alpha版的。所有选择了zabbix5.0
6,创建zabbix用户,数据库,导入数据
# mysql -u root -p mysql> grant all privileges on zabbix.* to zabbix@"10.0.%" identified by 'xxxxxxxxx'; mysql> flush privileges; mysql> create database zabbix character set utf8 collate utf8_bin;
# gzip /usr/share/doc/zabbix-server-mysql*/create.sql.gz -d /root # mysql -u root -p mysql> use zabbix mysql> set names utf8; mysql> source /root/create.sql; mysql> source /root/double.sql; mysql> show tables; .............省略............... | usrgrp | | valuemaps | | widget | | widget_field | +----------------------------+ 166 rows in set (0.00 sec) //166张表
7,配置nginx和php
# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf server { listen 80; //去掉前面注释 server_name 10.0.10.11; //去掉前面注释 # vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf [zabbix] user = apache group = apache listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock listen.acl_users = apache,nginx //修改 listen.allowed_clients = 127.0.0.1 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 php_value[session.save_handler] = files php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/ 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[date.timezone] = Asia/Shanghai //去掉前面的注释,改时区 # egrep -v "(^#|^$)" /etc/zabbix/zabbix_server.conf //zabbix server 配置 LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBName=zabbix DBUser=zabbix DBPassword=*********** SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1 # systemctl restart zabbix-server zabbix-agent2 rh-nginx116-nginx rh-php72-php-fpm # systemctl enable zabbix-server zabbix-agent2 rh-nginx116-nginx rh-php72-php-fpm # netstat -tpnl //检查端口,是不是启动了 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21615/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1105/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1677/master tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 100512/zabbix_serve tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 22144/php-fpm: mast tcp6 0 0 :::80 :::* LISTEN 21615/nginx: master tcp6 0 0 :::22 :::* LISTEN 1105/sshd tcp6 0 0 ::1:25 :::* LISTEN 1677/master tcp6 0 0 :::10050 :::* LISTEN 100482/zabbix_agent tcp6 0 0 :::10051 :::* LISTEN 100512/zabbix_serve tcp6 0 0 :::3306 :::* LISTEN 76536/mysqld
8,界面安装zabbix,http://服务器IP,一路安装就好,安装好了后,默认管理员账号密码为 Admin/zabbix
以上操作都是在zabbix sever端操作的,虽然服务端装了zabbix agent2,但是没有配置,也是可以监控的,zabbix sever上面的agent用127.0.0.1,切换成中文
二,客户端安装
1,关闭防火墙和selinux
# systemctl stop firewalld //停止 # systemctl disable firewalld //关闭自启动 # iptables -L //查看 # sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config //关闭selinux,最好重启下
2,安装zabbix-agent2
# rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm # yum install zabbix-agent2 zabbix-get -y
推荐大家使用zabbix-agent2,多了不少模板,配置也简单些。
3,配置zabbix-agent2
# /etc/zabbix/zabbix_agent2.conf //修改以下内容 Server=10.0.10.11 //zabbix服务端内网IP ServerActive=10.0.10.11 //zabbix服务端内网IP,Active表示agent主动推送 Hostname=tidb1 //zabbix客户端主机名称 # systemctl start zabbix-agent2 # systemctl enable zabbix-agent2 # netstat -tpnl |grep zabbix tcp6 0 0 :::10050 :::* LISTEN 4250/zabbix_agent2
三,zabbix管理后台,添加主机
最新数据,只要有内容,就说明客户端添加成功了
四,图表乱码
1,下载字体,支持中文就行
2,将字段copy到/usr/share/zabbix/assets/fonts
3,修改配置文件
# ll /usr/share/zabbix/assets/fonts 总用量 2332 lrwxrwxrwx 1 root root 33 12月 7 13:56 graphfont.ttf -> /etc/alternatives/zabbix-web-font -rwxr-xr-x 1 root root 2386140 12月 7 16:38 simfang.ttf # vim /usr/share/zabbix/include/defines.inc.php define('ZBX_FONTPATH', realpath('assets/fonts')); // 字体路径,默认 define('ZBX_GRAPH_FONT_NAME', 'simfang'); // 将graphfont改成simfang
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/2424.html
如果做服务器状态监控,API监控和数据库监控,建议使用哪个监控组件?