•  

【CentOS 7】Zabbix学习笔记

发表于 2018-07-09,阅读 54

安装部署

下载

打开下载页面 https://www.zabbix.com/download

选择操作系统版本,数据库版本

安装

rpm方式安装仓库

rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

yum方式安装zabbix

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

部署

数据库

create database zabbix default charset utf8;

grant all privileges on zabbix.* to zabbix@127.0.0.1 identified by 'abcdef';

导入数据

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pabcdef zabbix

如果没有上面的路径下的文件的话(笔者就TM遇到了,而且无论remove再install还是怎么弄,死活都不出来~~)

打开源代码下载页面 https://www.zabbix.com/download_sources

选择正确的版本下载源代码包,解压缩源代码包,里面会有个 database 目录,下面有个 mysql 目录,再下面就是我们需要的三个文件了 schema.sql、images.sql、data.sql

依次导入到 zabbix 数据库

mysql -uzabbix -pabcdef -h 127.0.0.1 zabbix < schema.sql
mysql -uzabbix -pabcdef -h 127.0.0.1 zabbix < images.sql
mysql -uzabbix -pabcdef -h 127.0.0.1 zabbix < data.sql

服务器配置

编辑服务器配置文件 /etc/zabbix/zabbix_server.conf

 主要是数据库连接的几个参数,根据自己的情况进行修改即可

DBHost=
DBName=
DBUser=
DBPassword=
DBSocket=
DBPort=

还有服务端口,我们强烈建议修改一下

ListenPort=

WebServer配置

编辑WebServer配置文件 /etc/httpd/conf.d/zabbix.conf

修改时区

php_value date.timezone Asia/Shanghai

启动服务

启动服务

systemctl restart zabbix-server zabbix-agent httpd

设置自动启动

systemctl enable zabbix-server zabbix-agent httpd

初始化

打开浏览器,输入 zabbix 网址 http://user_server_ip_or_name/zabbix/

看到如下界面表示签名的安装部署工作成功了~~


点击下一步,检查环境

点击下一步输入数据库信息

点击下一步输入服务器参数,这里不要改

点击下一步确认信息


登录

默认的登录用户名是 admin,密码是 zabbix,进入后记得修改密码哦~~


客户端部署

客户端的部署很简单,只需要操作两步即可。

安装

rpm方式安装仓库

rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

yum方式安装agent

yum -y install zabbix-agent

部署

也是两步

启动服务

systemctl restart zabbix-agent

设置自动启动

systemctl enable zabbix-agent

修改客户端授权IP地址

打款配置文件

vi /etc/zabbix/zabbix_agentd.conf

修改 Server=

Server=[Zabbix服务器IP地址,多个IP地址用逗号分开]

修改 Hostname=

Hostname=[Zabbix客户端IP地址,确保Zabbix服务器可以访问到的IP地址]

重启客户端

systemctl restart zabbix-agent

验证

安装工具

我们安装zabbix_get工具来验证客户端是否畅通

yum -y install zabbix-get

开始验证

语法

zabbix_get -s 192.168.1.168 -p 10050 -k "system.cpu.load[all]"

正确情况

[root@zabbix /]# zabbix_get -s 192.168.1.168 -p 10050 -k "system.cpu.load[all]"
0.690000

错误情况1:这是因为参数-s后面指定的IP错误,这个IP是客户端的对外IP地址(可以是公网IP,也可能是局域网IP,但不能是127.0.0.1)

[root@zabbix /]# zabbix_get -s 192.168.1.168 -p 10050 -k "system.cpu.load[all]"
zabbix_get [694]: Get value error: cannot connect to [[192.168.1.168]:10050]: [111] Connection refused

错误情况2:这是因为在zabbix_agent上配置的Server=的IP地址不对,这个IP地址是zabbix服务器的对外IP地址

[root@zabbix /]# zabbix_get -s 192.168.1.168 -p 10050 -k "system.cpu.load[all]"
zabbix_get [695]: Check access restrictions in Zabbix agent configuration

注意:当问题修复后,记得要使用验证工具验证一下,否则看到zabbix上依然是警告状态,需要等一会儿才会变正常

导入模板

导入zapache

下载

从网址下载压缩包 https://github.com/lorf/zapache 到工作电脑(非zabbix服务器)

解压缩文件 zapache-master.zip

导入

打开zabbix管理界面,进入 Configuration -> Templates,点击右上角的 import 按钮

分别导入压缩包内的两个 xml 模板文件 zapache-template.xml、zapache-template-active.xml

使用

像使用默认模板那样,在host下面的templates里add新添加的模板即可

客户端配置

开启server-status

我们开启apache的server-status模块,新版本的apache都会自带一个extra的httpd-info.conf,在httpd.conf里把它前面的 # 去掉即可,然后重启apache服务

注意:

如果你的程序用到了 rewrite 且全局进行重写的时候,会和这个server-status冲突,这时需要增加 condition 过滤,示例代码如下:

RewriteCond %{REQUEST_URI} !(server-status|server-info) [NC] ### server-status or server-info

新版本的apache的httpd-info.conf的设置需要指定访问的ip和host

Require host localhost
Require ip 127

配置zabbix_agent

复制压缩包内的 userparameter_zapache.conf.sample 配置文件

cp userparameter_zapache.conf.sample /etc/zabbix/zabbix_agentd.d/userparameter_zapache.conf

创建zapache脚本目录

mkdir -p /var/lib/zabbixsrv/externalscripts/

复制压缩包内的 zapache 脚本

cp zapache /var/lib/zabbixsrv/externalscripts/zapache
chmod 0755 /var/lib/zabbixsrv/externalscripts/zapache

重启zaabix_agent

systemctl restart zabbix-agent

验证

我们可以通过下面的命令验证配置是否正确

/var/lib/zabbixsrv/externalscripts/zapache Uptime

新版本的zapache需要which支持,通过yum安装一下即可

yum install which

模板

模板制作

准备

现在我们来学习如何创建一个zabbix模板

建立监控脚本

这是一个示例,统计最大磁盘使用量

[root@zabbix /]# cat > /etc/zabbix/zabbix_agentd.d/diskusage.sh <<EOF
#!/bin/sh

df -lh|awk '{print \$5}'|sed 's/\%//'|sort -n -r|head -n 1
EOF

授权监控脚本

chmod +x /etc/zabbix/zabbix_agentd.d/diskusage.sh

建立监控配置文件

路径是 /etc/zabbix/zabbix_agentd.d/userparameter_xxx.conf

配置文件格式 UserParameter=<key>,<shell command>

这是一个示例,统计最大磁盘使用量

[root@zabbix /]# cat > /etc/zabbix/zabbix_agentd.d/userparameter_test.conf <<EOF
UserParameter=diskusage,/etc/zabbix/zabbix_agentd.d/diskusage.sh
EOF

重启agent服务

systemctl restart zabbix-agent

测试配置文件

zabbix_get -s 10.16.1.160 -p 10050 -k "diskusage"

模板添加

添加模板

7f163abda1fc8481.jpg

添加应用

添加项目

2bd585c0bbd8e398.jpga5879ee2a33c89c6.jpg

添加触发器

54b1d6f203ab0ff9.jpg

添加视图

fa24ae3589ce538b.jpg

1dfd250554f8c751.jpg模板使用

现在就可以通过主机关联模板使用新模板进行监控了

忘记密码

找回密码

如果忘记zabbix用户密码可以登录zabbix的数据库进行修改。

以mysql数据库举例:

Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| zabbix             |
+--------------------+
5 rows in set (0.18 sec)

MySQL [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MySQL [zabbix]> select * from users;
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+-----------------+---------------+---------------+
| userid | alias | name   | surname       | passwd                           | url | autologin | autologout | lang  | refresh | type | theme   | attempt_failed | attempt_ip      | attempt_clock | rows_per_page |
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+-----------------+---------------+---------------+
|      1 | Admin | Zabbix | Administrator | d41d8cd98f00b204e9800998ecf8427e |     |         1 | 0          | en_GB | 30s     |    3 | default |              0 | 114.248.153.101 |    1532052188 |            50 |
|      2 | guest |        |               | d41d8cd98f00b204e9800998ecf8427e |     |         0 | 15m        | en_GB | 30s     |    1 | default |              0 |                 |             0 |            50 |
+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+-----------------+---------------+---------------+
2 rows in set (0.00 sec)

MySQL [zabbix]> update users set passwd = md5('123456') where name = 'Zabbix';
Query OK, 1 row affected (0.44 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MySQL [zabbix]>


鬼谷子叔叔
  • 日志:126
  • 回复:13

进入ta的主页