本文主要介绍如何在Linux中安装、配置和应用zabbix,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去了解一下。
Zabbix简介:
1.基于web的开源软件,开源监控系统状态也可以监控网络设备。
2.与nagios不同,zabbix会将获取的数据保存在数据库中,因此zabbix需要数据库支持。
3.Zabbix还可以自动发现主机和网络设备。
4.支持电子邮件和短信提醒
5.5的大部分配置。Zabbix可以在web界面中完成。
6.Zabbix Cattinagios都是基于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 . no arch . rpm #安装yum source epel。主体建筑为LAMP环境。保存这一步,也保存下一步。
灯环境yum install-y httpd MySQL MySQL-libspphp-MySQL MySQL MySQL-server PHP-bcmathpp-gdphp-mbstring用于安装rpm包
服务端Zabbix 安装:
客户端还应该安装相同版本的zabbix20代理。
[root @ OBird ~]# yum install zabbix20 zabbix20-agent zabbix20-server zabbix20-server-MySQL zabbix20-web zabbix20-web-MySQL net-SNMP-dev
[root @ OBird ~]#/etc/init . d/zabbix-服务器启动;/etc/init . d/zabbix-代理启动
正在启动Zabbix服务器: [确定]
正在启动Zabbix代理: [确定]
[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)
45103360201612293360102804.301数据库关闭。10秒后重新连接。
4510336020161229:102814.302[Z3001]与数据库“zabbix”的连接失败: [2002]无法通过套接字连接到本地MySQL服务器
[root @ OBird ~]#/etc/init . d/httpd start;/etc/init . d/mysqld Start # Start httpd mysqld
启动httpd: [好的
;]
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_size | 8M | 16M | Fail |
PHP option max_execution_time | 30 | 300 | Fail |
PHP option max_input_time | 60 | 300 | Fail |
[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
感谢你能够认真阅读完这篇文章,希望小编分享的“Linux中zabbix如何安装配置及应用”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/93194.html