zabbix4.2监控系列–安装
此教程安装的mysql5.7,具体安装教程参考 https://blog.csdn.net/qq_36582604/article/details/80526287
★重点
create database zabbix character set utf8 collate utf8_bin;
CREATE USER ‘zabbix’@’%’ IDENTIFIED BY ‘zabbix’;
grant all privileges on zabbix.* to zabbix@’%’ identified by ‘zabbix’;
flush privileges;
参考 https://blog.csdn.net/qazqaz12378/article/details/52183003?utm_source=blogxgwz7
修改httpd端口为800
vim /etc/httpd/conf/httpd.conf
Listen 800
service httpd restart
安装文件下载地址 http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/
准备环境:centos7服务器(此服务器作为server端,同时也作为agent端监控本地服务器,故需要安装agent和server服务)
在zabbix官网已下载好rpm安装包
zabbix-server-mysql-4.2.8-1.el7.x86_64.rpm (zabbix server主安装程序)
zabbix-agent-4.2.8-1.el7.x86_64.rpm (zabbix agent 主安装程序)
zabbix-web-4.2.8-1.el7.noarch.rpm (zabbix web 安装程序)
zabbix-get-4.2.8-1.el7.x86_64.rpm (zabbix server 安装程序,用于获取监控数据)
zabbix-web-mysql-4.2.8-1.el7.noarch.rpm (zabbix web 安装程序)
zabbix-release-4.2-2.el7.noarch.rpm (生成zabbix yum源配置文件)
zabbix-sender-4.2.8-1.el7.x86_64.rpm (zabbix agent 安装程序,用于发送监控数据)
安装过程使用yum安装
yum install -y zabbix-server-mysql-4.2.8-1.el7.x86_64.rpm zabbix-get-4.2.8-1.el7.x86_64.rpm zabbix-agent-4.2.8-1.el7.x86_64.rpm zabbix-sender-4.2.8-1.el7.x86_64.rpm
安装完成后先配置zabbix-server。
编辑配置文件/etc/zabbix/zabbix_server.conf,主要修改以下几项:
DBHost=10.33.133.160 //数据库地址
DBName=zabbix //锁数据库名称
BUser=zabbix //数据库用户名
DBPassword=zabbix //数据库密码
配置完成后就可以启动zabbix-server服务了,查看10051端口是否正常监听。
接下来安装配置zabbix-agent。
yum install -y zabbix-web-4.2.8-1.el7.noarch.rpm zabbix-web-mysql-4.2.8-1.el7.noarch.rpm zabbix-agent-4.2.8-1.el7.x86_64.rpm zabbix-sender-4.2.8-1.el7.x86_64.rpm
安装完成后配置agent。
编辑配置文件/etc/zabbix/zabbix-agent.conf,主要修改以下几项:
Server=127.0.0.1,10.33.133.147 //zabbix server地址,即只有这边指定的zabbix server才能正常采集到数据,非此处指定的server无法获取到监控数据。
因为本机即作为server端又作为agent端,故必须使用127.0.0.1指向server端,不然无法正常监控。
ServerActive=127.0.0.1,10.33.133.147 //zabbix server启用自动发现功能时允许哪些zabbix server 采集数据。
Hostname=zb-server.xiewl.com //必须全局唯一。建议跟主机名一致
导入初始架构
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
或者
cd /usr/share/doc/zabbix-server-mysql-4.2.6/
进行解压
gunzip create.sql.gz
对表进行导入
mysql;
use zabbix;
source create.sql;
为Zabbix服务器配置数据库
编辑文件/etc/zabbix/zabbix_server.conf
DBHost=服务器ip
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
为Zabbix前端配置PHP
编辑文件/etc/httpd/conf.d/zabbix.conf,取消注释并为您设置正确的时区。
#php_value date.timezone Europe/Riga
改为 php_value date.timezone Asia/Shanghai
启动Zabbix服务器和代理进程,并使其在系统启动时启动。
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
web端配置完成,启动agent服务,修改php里面的时区:
编辑/etc/php.ini
添加如下一行:
date.timezone = Asia/Shanghai
然后启动httpd服务。
1.通过浏览器打开配置界面http://10.33.133.148:800/zabbix:点击next step
2.这里会检查各种配置,主要是php的配置,如果都满足,就是ok点击“Next step”进行下一步,否则会提示fail,如果参数不通过,可以修改php.ini文件
3.开始录入数据库配置,配置各种参数如下所示,数据库连接用户在安装zabbix_server的时候已经分配好了,录入配置,点击“Next stenp”。
4.接下来输入zabbix_server管理的ip地址和port端口,输入别名。
5.配置成功后,会到最后一个界面,看到zabbix的各种信息
6.登录zabbix管理界面,默认用户名密码Admin/zabbix登录.
7.可以看到各种管理界面,有监控、配置、报表、管理等等
1.登陆zabbix-web页面总提示zabbix-server not running .the information displayd maynot be current。
最后发现是zabbix-server服务器防火墙未关闭导致无法启动。
2.配置完成后服务器提示:Can’t connect to MySQL server on ‘10.33.133.160’ database is down: reconnecting in 10 seconds无法正常连接到数据库。
1.zabbix-server未关闭selinux ,
1906:20170302:161354.940 cannot set MySQL character set to “utf8”
1906:20170302:161354.940 database is down: reconnecting in 10 seconds
mysql需要设置数据库格式
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
3.zabbix-web配置完成后登陆不成功。
zabbix-web用户名密码是Admin。密码zabbix。必须使用此账号密码登陆,注意大小写。
4.修改界面为中文
详见附录如下:
参考https://jingyan.baidu.com/article/2a138328d71f4c074a134f81.html
5.设置开启自动启动
vim /etc/rc.d/rc.local 最后添加下面两行
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start
服务端启动
service zabbix-server start/stop/restart/status
netstat -ntpl | grep 10051
客户端启动
service zabbix-agent start/stop/restart/status
netstat -ntpl | grep 10050
首先登录zabbix3.4版本的主界面,如下所示,点击右上角的小头像图标,如下面图中所示,就可以进入到设置界面。
zabbix修改界面语言为中文
在设置界面我们可以看到,默认的界面语言就是english,我们点击旁边的下拉按钮,可以看到默认有中文语言,我们选择它。
选择好以后,点击update按钮,就可以更新配置,回到主界面,就可以看到界面上大部分都变成了中文。如下面第二张图中所示:
但是这个时候并不是所有的界面都变成了中文,如下所示,点击检测中选项,然后点击图形。进入到监控页面,然后在左上角的主机选择位置群组选择zabbix_server,主机也选择zabbix_server,即我们安装的zabbix服务器。然后选择CPU load,即CPU加载情况,选择完成后,可以看到下方会显示一个动态图形。
动态图形如下面图中所示,在图中我们可以看到,有很多小方框,这些就是不能正常显示的中文。原因是因为在linux系统上没有对应的字体。这个字体名称是楷体,我们需要从windows系统上拷贝过去。
在windows系统上打开运行界面,我的是windows10,然后输入c:\windows\fonts,然后点击确定,打开windows的字体目录。在右上角的搜索框输入simkai.ttf,然后会出现楷体的搜索结果,如下面第二张图中所示:
将这个字体拷贝出来,然后使用winscp工具将它上传到zabbix服务器上,如下面图中所示,上传完成后,将它移动到zabbix的字体目录。我使用yum方式安装的zabbix对应的字体目录是:
/usr/share/zabbix/fonts
移动到这个目录以后,可以看到默认字体是graphfont.ttf,这个是默认字体。
还有一个奇怪的设置是,需要将字体默认的大写名称改成小写,否则zabbix无法识别。命令是:
mv SIMKAI.TTF simkai.ttf
修改完成后下面第一张图中所示,修改完成后,我们打开字体的配置文件,这个配置文件位于/usr/share/zabbix/include目录下,而我们当前位置是/usr/share/zabbix/fonts目录
因此命令就是vim …/include/defines.inc.php
打开这个文件后,使用搜索功能找到graphfont字样,将其修改为simkai,即simkai.ttf这个字体。修改完成后,回到刚才的监控页面,刷新后就能看到正常显示的字体。如下面第二张图中所示:
det log appears ERROR
{Zabbix server:log[/root/api_app/ticket/src/main/resources/logs/web-error.log,“ERROR|error”,skip,].iregexp(ERROR|error)}=1 and { Zabbix server:log[/root/api_app/ticket/src/main/resources/logs/web-error.log,“ERROR|error”,skip,].nodata(60)}=0
拆开解析:{zabbix:log[/etc/zabbix/a.log,“ERROR|error”,skip,].iregexp(ERROR|error)}=1 ,iregexp(ERROR|error)}=1 意味着如果匹配到ERROR和error关键字其中一个就告警,iregexp意味着正则表达式匹配。
{zabbix:log[/etc/zabbix/a.log,“ERROR|error”,skip,].nodata(60)}=0,nodata(60)}=0意味着如果60秒内有数据产生则表达式为真,即60秒内如果没有新数据了,则表达式为假,以防一直采集原有的关键字,不是采集新生成的关键字(重要)
and表示同时满足两个条件,触发器才会触发。
Server端检查是否有权限
(测试zabbix对日志是否有读取权限,使用sudo命令切换身份执行命令)
sudo -u zabbix cat /usr/local/tomcat/apache-tomcat-8.5.37/logs/catalina.out
客户端设置zabbix用户权限
visudo
zabbix ALL=(ALL) NOPASSWD: NOPASSWD: ALL
★另附zabbix4.2监控系列–客户端主动模式(二)
zabbix系列全步骤说明文档下载