【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

时间:2023-03-09 17:02:40
【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

1、环境

1.1、关闭防火墙

命令:systemctl stop firewalld 或者 systemctl stop firewalld.service

(备注:相应的,若要开启防火墙,将对应的"stop"修改为"start")

1.2、查看防火墙状态(确保已关闭)

方法1-命令:systemctl status firewalld 或者 systemctl status firewalld.service

“dead”代表防火墙为关闭状态,“running"代表防火墙为启动状态。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

方法2-命令:firewall-cmd --state

”not running“代表防火墙为关闭状态,”running”代表防火墙为启动状态。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

1.3、设置开机禁止启动防火墙

命令:systemctl disable firewalld.service

1.4、关闭selinux(注:出于安全考虑,SELinux会组织zabbix server的http通信端口10051)

命令:vi /etc/selinux/config

将SELINUX的值由“enforcing”修改为“disabled”。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

使用命令getenforce查看其状态为"Permissive",而非"Disabled"。这是因为该修改需要重启系统才能生效。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

使用命令reboot重启系统,重启完成后再次使用命令getenforce查看状态就变为"Disabled"了

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

2、安装LAMP环境

Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境。

2.1、安装所需所有的软体仓库

命令:yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

安装完成后检查应用版本

命令:rpm -qa httpd php mariadb

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

 2.2、编辑httpd

命令:vi /etc/httpd/conf/httpd.conf

添加以下两行内容:

ServerName www.zabbixyk.com      #修改为主机名
DirectoryIndex index.html index.php   #添加首页支持格式

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

2.3、编辑配置php,配置中国时区

命令:vi /etc/php.ini

添加内容:date.timezone = PRC   # 配置时区

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

2.4、启动httpd,mysqld

命令:

systemctl start httpd   #启动并加入开机自启动httpd

systemctl enable httpd
systemctl start mariadb  #启动并加入开机自启动mysqld

systemctl enable mariadb

ss -anplt | grep httpd   #查看httpd启动情况,80端口监控表示httpd已启动

ss -naplt | grep mysqld  #查看mysqld启动情况,3306端口监控表示mysqld已启动

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

2.5、创建一个测试页,测试LAMP是否搭建成功

命令:vi /var/www/html/index.php   #创建一个测试页,并编辑

添加以下内容:

<?php
phpinfo()
?>

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(1)网页测试

输入网页地址:ip/index.php,出现下图所示界面

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)本地测试

命令:curl http://127.0.0.1 -I,返回下图所示信息

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

2.6、初始化数据库,并配置root用户密码

(1)命令:mysqladmin -u root password Cdsf@119   #设置数据库root密码(如我这里设置的Cdsf@119)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)命令:mysql -u root -p   #使用root用户登录数据库

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(3)命令:CREATE DATABASE zabbix character set utf8 collate utf8_bin;   #创建zabbix数据库(中文编码格式)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(4)命令:GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'Cdsf@119';   #授予zabbix用户zabbix数据库的所有权限,密码(如我这里设置的)Cdsf@119

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(5)命令:flush privileges;   #刷新权限

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(6)命令:quit  #退出数据库

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(7)命令:vi /var/www/html/index.php   #修改测试页内容,测试zabbix用户是否能够登录数据库,这个环节很重要

将配置文件中的内容修改为以下内容:

<?php
$link=mysql_connect('10.0.8.211','zabbix','Cdsf@119');

if($link) echo "<h1>Success!!</h1>";

else echo "Fail!!";

mysql_close();
?>

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

然后网页上输入:ip,进行验证,出现下图所示内容则代表PHP连通数据库完成。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(8)删除空用户

命令:

mysql -u root -p   #使用root账户登录数据库
select user,host from mysql.user;   #有空用户名称占用导致本地无法登录远程可登录

drop user ''@localhost;  #删除空用户

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

3、安装Zabbix

3.1、安装依赖包+组件

(1)命令:yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch  javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)命令:yum install php-bcmath php-mbstring -y   #安装php支持zabbix组件

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(3)命令:rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm   #会自动生成yum源文件,保证系统可以上网

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(4)命令:yum install zabbix-server-mysql zabbix-web-mysql -y   #安装zabbix组件

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(5)命令:zcat /usr/share/doc/zabbix-server-mysql-4.0.24/create.sql.gz | mysql -uzabbix -p -h 10.0.xxx.xxx zabbix    #导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 10.0.xxx.xxx),密码是用户zabbix登陆密码Cdsf@119

如果不清楚zabbix-server-mysql-XXX的版本,按以下方式先进入目录,在导入数据也行。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(6)配置时区,并设置加入开机自启动zabbix-server

命令:

vi /etc/httpd/conf.d/zabbix.conf   #修改时区,将“# php_value date.timezone Europe/Riga” 变更成“php_value date.timezone Asia/Shanghai”

systemctl enable zabbix-server  #启动并加入开机自启动zabbix

systemctl start zabbix-server

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(7)命令:netstat -anpt | grep zabbix   #监听在10051端口上,如果没监听成功,可重启zabbix-server服务试试

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

如我上图所示,说明端口10051监听失败。解决方法如下:

步骤1:首先查看zabbix-server服务的状态是正常的:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

步骤2:输入命令netstat -untlap |grep :10051,未看到任何结果。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

步骤3:查看zabbix日志:tail -f /var/log/zabbix/zabbix_server.log,查看到关键错误信息“Access denied for user 'zabbix'@'localhost'”。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

步骤4:登录进数据库看看,查询权限时,发现只有’zabbix’@’%’,并没有'zabbix'@'localhost',所以我们添加一个,给’zabbix’@’localhost’赋权试试。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

步骤5:重新启动zabbix-server服务。再次查看端口成功监听上了

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

3.2、web界面安装zabbix

(1)浏览器输入:http://ip/zabbix
打开网页出现如下问题:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

原因是:rewrite_module没开启,开启过程如下:

步骤1:编辑配置文件httpd.conf,命令:vi /etc/httpd/conf/httpd.conf

步骤2:将"LoadModule rewrite_module modules/mod_rewrite.so"前面的”#”去掉,如果不存在这句则手动添加这句

步骤3:重启httpd

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

步骤4:重新刷新网页:ip/zabbix,就出现了zabbix安装界面了。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)点击Next step,得到下图,检查全部选项是否都为OK,然后点击Next step:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(3)填写各项信息,点击Next step:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(4)填写各项信息,点击Next step:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(5)点击Next step:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(6)如下图,然后点击Finish:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(7)输入默认用户名Admin,默认密码zabbix后点击Sign in登录:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(8)登录后的界面如下:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

4、使用zabbix

4.1、修改平台语言,方便阅读(登录后界面语言是英文的,可以修改为中文)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

4.2、配置监控模板

(1)点击“配置-模板-创建模板”:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)输入模板名称(如NAME1_templates)、可见的名称(如模板1)、选择群组后点击“添加”:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(3)在“配置-模板”中找到刚才添加的模板,点击进入该模板配置页面:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(4)依次点击“应用集”、“监控项”,给模板添加需要监控的指标项:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【应用集】

步骤1:创建应用集

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

步骤2:输入应用集名称(如CPU),点击添加

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【监控项】

步骤1:点击“监控项”,进入监控项页面

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

步骤2:依次在监控项页面中输入监控的名称、类型、键值、信息类型、单位、更新间隔,选定应用集,点击“添加”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(注:选择键值的时候,会弹出下图,这里对Windows进行性能指标监控,所以选择perf_counter[xxxxxx]的格式:)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

4.3、添加主机

(1)点击“主机-创建主机”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)依次填写主机名称(需要用英文)、可见的名称、勾选群组,填写被监控的windows主机的ip地址,端口默认10050不作修改:

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(3)点击“模板”,跳转到模板页面,选择刚才创建的监控模板,之后点击“添加”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

4.4、以上步骤完成后,在主机列表看到“ZBX”为红色(而非绿色,正常情况下应该为绿色才对)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

原因是我们的windows客户端未安装zabbix-agent,所以通信失败。去官网下载zabbix-agent进行安装。

(1)https://www.zabbix.com/cn/download_agents?version==4.0+LTS&release=4.0.24&os=Windows&os_version=Any&hardware=amd64&encryption=OpenSSL&packaging=MSI

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)下载完后,双击文件进行安装,点击“Next”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(3)勾选“I accept...”,点击“Next”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(4)填写Zabbix服务器的Host name的IP地址,Host name需要和Zabbix服务端web页面上设置的主机名称一致。

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(5)设置安装路径,点击“Next”,再点击“Install”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(注:我这里的安装路径为默认的C:\Program Files\Zabbix Agent\,里面有配置文件和日志文件)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(6)然后再次返回zabbix的web界面,可以看到主机列表右侧的“ZBX”为绿色了

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

4.5、将监控返回的数据进行单位转换,以图形曲线的方式展示在网站上

(1)根据已配置的类型(我这里为“zabbix客户端”)的监控项,返回的最新数据,再新配置一个类型为“可计算的”的监控项

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(注:上面的键值语法那修改为“Processor_Time”,否则保存时报附近有语法错误,保存不了)

4.6、根据监控返回的数据创建对应的曲线图形

(1)点击“监测-仪表板-添加仪表盘”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(2)点击“创建仪表盘”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(3)输入名称,如“test”,点击“应用”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(4)点击如图所示区域,添加构件

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

(5)点击“保存设置”

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

【Zabbix】在CentOS 7上搭建Zabbix服务,收集Windows客户端计数器性能数据(含过程中遇到的问题解决方法)

-------------结束-------------