共计 7456 个字符,预计需要花费 19 分钟才能阅读完成。
这篇文章主要介绍了 Linux 中 zabbix 如何安装配置及应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
Zabbix 简介:
1. 基于 web 的开源软件,开源监控系统状态也可以监控网络设备。
2. 和 nagios 不同的是 zabbix 会把获取的数据保存在数据库中,所以 zabbix 需要有数据库支持
3.Zabbix 还可以自动发现主机和网络设备
4. 支持邮件和短信告警
5.Zabbix 大多配置都可以在 web 界面配置完成。
6.Zabbix cacti nagios 都是基于 php 写出来的网站程序,所以要想运用这些软件,需要基于 lamp 或 lnmp(yum 安装他们不支持 nginx 的配置文件而 lamp 安装会黙认在 apache 的配置文件下生成一个子配置文件,可以通个 IP 直接来访问他们)来使用。
官网 http://www.zabbix.com/
安装 Zabbix:
rpm -ivh http://www.lishiming.net/data/p_w_upload/forum/month_1211/epel-release-6-7.noarch.rpm # 安装 yum 源 epel。楼主的是 LAMP 环境。这一步操作省了,下一步操作也省了。
安装 rpm 包的 lamp 环境 yum install -y httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring
服务端 Zabbix 安装:
客户端也要安装 zabbix20-agent,版本要保持一致。
[root@OBird ~]# yum install zabbix20 zabbix20-agent zabbix20-server zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel
[root@OBird ~]# /etc/init.d/zabbix-server start; /etc/init.d/zabbix-agent start
Starting Zabbix server: [ OK ]
Starting Zabbix agent: [ OK ][root@OBird ~]# netstat -lnp #查看端口有 10050 10051, 楼主发现 10051 zabbix-server 没有启来
[root@OBird ~]# less /var/log/zabbix/zabbix_server.log # 查看 zabbix 日志,发现是数据库问题
/var/lib/mysql/mysql.sock (2)
4510:20161229:102804.301 Database is down. Reconnecting in 10 seconds.
4510:20161229:102814.302 [Z3001] connection to database zabbix failed: [2002] Can t connect to local MySQL server through socket
[root@OBird ~]# /etc/init.d/httpd start; /etc/init.d/mysqld start # 启动 httpd mysqld
Starting httpd: [ OK ]
Starting mysqld: [ OK ][root@OBird ~]# mysql -uroot -pzaq12wsx #进入数据库
mysql create database zabbix;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 43
Current database: *** NONE ***
Query OK, 1 row affected (0.00 sec)
mysql show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| cacti |
| discuz |
| mysql |
| test |
| zabbix |
+——————–+
6 rows in set (0.05 sec)
mysql show variables like %char% # 查看实例字符集
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 55
Current database: zabbix
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.00 sec)
mysql SET character_set_client = utf8 ; 更改实例的字符集,不知道有没有问题,先这样做了再说
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 13
Current database: *** NONE ***
Query OK, 0 rows affected (0.00 sec)
mysql SET NAMES utf8
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 8
Current database: *** NONE ***
Query OK, 0 rows affected (0.00 sec)
mysql show variables like %char% #再次查看
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.00 sec)
导入三个数据库:
[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix /usr/share/zabbix-mysql/schema.sql
[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix /usr/share/zabbix-mysql/p_w_picpaths.sql
[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix /usr/share/zabbix-mysql/data.sql
再次启动 zabbix-server 还是没有启动,日志报错和上面的一样。
[root@OBird ~]# mysql -uroot -pzaq12wsx
mysql grant all on *.* to zabbix @ localhost identified by zabbix #创建用户 密码及授权
Query OK, 0 rows affected (0.00 sec)
[root@OBird ~]# vim /etc/zabbix/zabbix_server.conf #编辑写入 zabbix 用户密码。
DBPassword=zabbix
[root@OBird ~]# ls /tmp/mysql.sock # mysql.sock 在 tmp 这个文件夹下
/tmp/mysql.sock
[root@OBird ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #做一个软链接
[root@OBird ~]# service mysqld restart # 重启数据库
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ][root@OBird ~]# /etc/init.d/zabbix-server restart #重启 zabbix-server 服务
Shutting down Zabbix server: [ OK ]
Starting Zabbix server: [ OK ]
查询确认 Zabbix 服务已经启动:
网页端 Zabbix 安装:
http://10.72.4.43/zabbix/
以下三项测试不通过:
PHP option post_max_size8M16MFail
PHP option max_execution_time30300FailPHP option max_input_time60300Fail[root@OBird ~]# vim /etc/php.ini # 编辑 php.ini 文件
post_max_size = 16M #8M- 16M
max_execution_time = 300 # 30 – 300
ax_input_time = 300 # 60 – 300
[root@OBird ~]# service httpd restart
刷 新:http://10.72.4.43/zabbix/ ,全部通过,直接下一步,下一步直至安装完成。
Zabbix 黙认管理员帐号: admin ps:zabbix . 至此 Zabbix 服务端安装完成。
—————————————- 分割线 —————————————-
安装接入监控的客户端主机:客户端机的环境是 LNMP.
[root@LNMP ~]# yum install zabbix20-agent
[root@LNMP ~]# vim /etc/zabbix_agentd.conf # 编辑配置文件,更改为以下
Server=10.72.4.43 # 服务端 IP
ServerActive=0.0.0.0:10050 #监听端口
Hostname=Zabbix_liven_linux # 自定义的主机名
[root@LNMP ~]# /etc/init.d/zabbix-agent start #启动 zabbix-agent 服务
Starting Zabbix agent: [ OK ][root@OBird ~]# zabbix_get -s 10.72.4.38 -p10050 -k system.hostname
LNMP
# 在服务端检测客户端主机名,检测无误。说明两机之间通信无误。
添加监控模版:
服务端监控数据查看:
创建自定义模版:
Zabbix 自带了很多模板,模板中有很多监控项目,比如 CPU、网卡、内存、进程等等。使用系统自带模板有点太多了,所以我们可以自定义模板。点 configuration 选择 templates,点右上角的 create template
Template name 和 Visible name 自定义,Groups 选择 templates, 点 save
然后我们去挑选一些项目拷贝到该模板下:比如我们找到 Template OS Linux 点一下 items, 选择想要的项目,然后在下面选择 copy selected to … 然后点 go
Group 选择 templates, 找到刚才我们自定义的 templates, 点 copy
点 configuration 选择 templates 可以看到新建的 templates 中已经有刚刚我们 copy 的 items 了
我们可以使用和上面相同的方法自定义拷贝 Triggers(触发器), 它用来设置告警的阀值,也可以自定义编辑它。
—————————————- 分割线 —————————————-
[root@OBird ~]# /etc/init.d/postfix restart # 启动 postfix 服务
Shutting down postfix: [ OK ]
Starting postfix: [ OK ][root@OBird ~]# mail -s 2016-12-30 111111111@qq.com /etc/inittab # 发邮件
[root@OBird ~]# mailq #查看邮件有没有发出去
Mail queue is empty
# 楼主是用 QQ 邮箱测试的,是可以收到邮件的。如下图
在 zabbix-server 端来编写发邮件脚本
[root@OBird ~]# mkdir -p /home/zabbix/bin
[root@OBird ~]# vim /home/zabbix/bin/bj.sh
#!/bin/bash
echo $3 |/bin/mail -s $2 $1 # $3 是邮件内容,$2 是主题 $1 是收件人
[root@OBird ~]# chmod +x /home/zabbix/bin/bj.sh # 加入可执行的权权
[root@OBird ~]# vim /etc/zabbix/zabbix_server.conf #更改邮件脚本路径,
#AlertScriptsPath=/var/lib/zabbixsrv/alertscripts
AlertScriptsPath=/home/zabbix/bin
#ExternalScripts=/var/lib/zabbixsrv/externalscripts
ExternalScripts=/home/zabbix/bin
创建 mediea types:“Administration —”Media types,点击右上角“Create Media Type 其中 Description 填 bj”或其它自定义名称,Type 选择 Script,Script 填”bj.sh”然后点”Save”.
创建 user:“Adimistration”—“Users”在右上角,选择”Users”,点击”Create User”, alias: test1, 自定义 name 和 lastname password:zaq12wsx;group 选择 guest,回到上面点一下 media,type 选择 baojing,send to 写要发送邮件的邮箱,点 add, 最后点 save
创建 action:“configuration”— actions, 右上角“Create Actions”, Name 自定义,我这里写”baojing”, 其他默认,然后点右侧的“Operations”下的“New”按钮,“Operation Type”选择“Send message”,“Send Message to”选择一个或多个要发送消息的用户组,Send to Users 选择我们之前新增的 test1,“Send only to”选择 bj , 点一下 add
最后点 save
创建 action:“configuration”— actions, 右上角“Create Actions”, Name 自定义,我这里写”baojing”, 其他默认,然后点右侧的“Operations”下的“New”按钮,“Operation Type”选择“Send message”,“Send Message to”选择一个或多个要发送消息的用户组,Send to Users 选择我们之前新增的 test1,“Send only to”选择 baojing , 点一下 add
最后点 save
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Linux 中 zabbix 如何安装配置及应用”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!