zabbix介绍 安装 运用 配置 代理 告警 的使用

Zabbix 功能

具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库

性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)

支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)

支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)

支持分布式,能集中展示、管理分布式的监控点

扩展性强,server 提供通用接口(api 功能) ,可以自己开发完善各类监控(根据相关接

口编写程序实现)

编写插件容易,可以自定义监控项,报警级别的设置。

数据收集等

可以监控多达10万个设备

优点:

开源,无软件成本投入

Server 对设备性能要求低

支持设备多,自带多种监控模板

支持分布式集中管理,有自动发现功能,可以实现自动化监控

开放式接口,扩展性强,插件编写容易

当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从

server 端去下载需要监控的 item 然后取数据上传到 server 端。 这种方式对服务器的负载比较

小。

Api 的支持,方便与其他系统结合

缺点:

需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要

在数据库。

具体的说明 我这里不多介绍 大家百度一下就出来了 我们直接安装吧

准备篇:一、Web环境:Nginx+MySQL+PHP或者Apache+mysql+php

二、zabbix软件包下载 我这能采用集成的 版本是zabbix-2.2.6.tar.gz 这个汉化过来没乱码 用着挺好

安装篇

一 服务端配置
1.配置前先关闭iptables和SELINUX,避免安装过程中报错。

[[email protected] ~]# service iptables stop

[[email protected] ~]# chkconfig iptables off
[[email protected] ~]# getenforce
Disabled

[[email protected] ~]#setenforce 0

2.安装LAMP环境

[[email protected] ~]# yum install -y httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-xml php-pear

[[email protected] ~]# service httpd start

[[email protected] ~]# service mysqld start

3.下载zabbix-2.2.6.tar.gz 直接上官网 或者找我要都行

4.安装zabbix所需的组件(server,agent)

[[email protected] ~]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI

5.创建用户账号(server,agent)

[[email protected] ~]# useradd zabbix

[[email protected] ~]# usermod -s /sbin/nologin zabbix

6.创建zabbix数据库并导入zabbix数据库(server)

[[email protected] ~]#tar zxf zabbix-2.2.6.tar.gz

[[email protected] ~]# mysqladmin -u root password 123456

[[email protected] ~]# mysql -u root -p 123456

mysql> create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8
mysql> grant all on zabbix.* to [email protected] identified by ‘123456‘;
mysql> use zabbix;
mysql> source /root/zabbix-2.2.6/database/mysql/schema.sql
mysql> source /root/zabbix-2.2.6/database/mysql/images.sql
mysql> source /root/zabbix-2.2.6/database/mysql/data.sql
mysql> exit

yum install gcc libgcc

7.编译安装,如果是客户端安装选择--enable-agent就行了。

[[email protected] ~]#cd /root/zabbix-2.0.6
[[email protected] zabbix-2.0.6]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl (可以用--prefix=/usr/local/ 指定安装目录)
报错: checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
解决:[[email protected] zabbix-2.0.6]# ln -s /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so
***********************************************************
* Now run ‘make install‘ *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
make install

8.编辑配置文件

[[email protected] zabbix-2.2.6]# cd /usr/local/etc/

[[email protected] etc]# more zabbix_server.conf #服务端的配置修改如下几个参数 记得先备份
LogFile=/var/log/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

[[email protected] etc]# more zabbix_agentd.conf #客户端配置 修改如下参数

LogFile=/tmp/zabbix_agentd.log

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server

UnsafeUserParameters=1 #启用自定义key

[[email protected] etc]# touch /var/log/zabbix_server.log
[[email protected] etc]# touch /var/log/zabbix_agentd.log
[[email protected] etc]# chmod 777 /var/log/zabbix_*

9.启动服务(server,agent)

[[email protected] zabbix-2.0.6]# cp misc/init.d/tru64/zabbix_server /etc/init.d/
[[email protected] zabbix-2.0.6]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
[[email protected] zabbix-2.0.6]# chmod +x /etc/init.d/zabbix_*
在文件头部#!/bin/bash下面分别添加两行
#!/bin/sh
#chkconfig: 35 95 95
#description:zabbix Agent server
添加服务
[[email protected] zabbix-2.0.6]# chkconfig --add zabbix_server
[[email protected] zabbix-2.0.6]# chkconfig --add zabbix_agentd
设置服务器开机自动启动
[[email protected] ~]# chkconfig zabbix_server on
[[email protected] ~]# chkconfig zabbix_agentd on
[[email protected] ~]# /etc/init.d/zabbix_server start
Zabbix server started.
[[email protected] ~]# /etc/init.d/zabbix_agentd start
Zabbix agent started.
[[email protected] ~]# ps -ef |grep zabbix
zabbix 1803 1 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1805 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1806 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1807 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1808 1803 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 1814 1 0 08:21 ? 00:00:00 /usr/local/sbin/zabbix_server
root 2043 2006 0 08:23 pts/0 00:00:00 grep zabbix
[[email protected] ~]# netstat -lantp |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1803/zabbix_agentd
[[email protected] ~]# netstat -lantp |grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2308/zabbix_server

10.安装zabbix web界面(server)
复制php文件,zabbix的终端程序是用php写的,因此需要一个支持php脚本解析的web服务器。然后将frontends/php下面的php文件拷贝到web服务器html文件目录下面。

[[email protected] zabbix-2.0.6]# cp -r frontends/php /var/www/html/zabbix
[[email protected] html]#service httpd restart

Stopping httpd: [ OK ]
Starting httpd: [ OK ]

11.安装图示

直接http://IP/zabbix

报错:根据提示修改/etc/php.ini文件里的参数

[[email protected] zabbix]# yum install -y php-bcmath
[[email protected] zabbix]# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

修改后的图

这个是zabbix的数据库 连接的用户名和密码

这个默认就行

这一个zabbix server端就搞定了O(∩_∩)O~ 简单吧!!!

下面登陆进去

用户名是默认admin 密码 默认zabbix

接下来我们安装 agent

创建用户账号(server,agent)

[[email protected] ~]# useradd zabbix

[[email protected] ~]# usermod -s /sbin/nologin zabbix

[[email protected] ~]#cd /root/zabbix-2.2.6

[[email protected] zabbix-2.2.6]# ./configure --enable-agent (也可以用--prefix=/usr/local/ 指定安装目录)

[[email protected] zabbix-2.2.6]# cd /usr/local/etc/

修改  zabbix_agentd.conf #客户端配置

Server=监控端的ip

ServerActive=监控端的ip

Hostname=自己的主机名

UnsafeUserParameters=1

[[email protected] etc]# touch /var/log/zabbix_agentd.log

[[email protected] etc]# chmod 777 /var/log/zabbix_*

[[email protected] etc]# cd /root/zabbix-2.2.6

[[email protected] zabbix-2.2.6]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/

[[email protected] zabbix-2.2.6]# chmod +x /etc/init.d/zabbix_*

[[email protected] zabbix-2.2.6]# vi /etc/init.d/zabbix_agentd

接下来 在浏览器上添加主机就可以了

这是添加后的效果

表示监控成功了 大家可以点击图形 在里面看相关内容 这里的详细信息大家点点就会了 我这里就不详细介绍了

下面我们看看代理 大家知道 这监控端用的是server 但是serve端就一台服务器 如何客户端多了怎么办?如果备监控端在上海有几百台 在北京有几百台 又怎么办?如果这种情况下 在用一个serve端 就会瘫痪 所以我们需要代理 具体效果如图

这样可以大大的提高了服务器的性能 对于分布式的环境来

Zabbix Proxy 用于接收Agent的监控数据,暂时保存然后转发给Server;Zabbix Server 会把配置同步给Zabbix Proxy Zabbix Proxy面向Agent 是作为一个Server。

下面介绍具体安装步骤

1.配置前先关闭iptables和SELINUX,避免安装过程中报错。

[[email protected] ~]# service iptables stop

[[email protected] ~]# chkconfig iptables off
[[email protected] ~]# getenforce
Disabled

[[email protected] ~]#setenforce 0

yum install -y mysql-*   安装mysqld

yum -y install lrzsz

yum install gcc libgcc安装编译插件

创建用户账号

[[email protected] ~]# useradd zabbix

[[email protected] ~]# usermod -s /sbin/nologin zabbix

[[email protected] ~]# service mysqld start

2.上传zabbix

[[email protected] ~]# tar zxvf zabbix-2.2.6.tar.gz  解压

mysqladmin -u root password 123456

[[email protected]~]# mysql -u root -p 123456

mysql> create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8
    mysql> grant all on zabbix.* to [email protected] identified by ‘123456‘;
    mysql> use zabbix;
    mysql> source /root/zabbix-2.2.6/database/mysql/schema.sql

安装zabbix proxy 代理时仅仅需要导入schema.sql即可 注意

yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI 安装zabbix所需的组件

[[email protected] mysql]# cd /root/zabbix-2.2.6/

[[email protected] zabbix-2.2.6]# ./configure --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl

[[email protected] zabbix-2.2.6]# cp /usr/local/etc/zabbix_proxy.conf /usr/local/etc/zabbix_proxy.conf.bak 备份

[[email protected] zabbix-2.2.6]# vi /usr/local/etc/zabbix_proxy.conf  修改如下

# 服务器地址

Server=192.168.0.1

# 主机名

Hostname=82-proxy

# 数据库名

DBName=zabbix

# 数据库用户名

DBUser=zabbix

# 数据库密码

DBPassword=zabbixpass

# MYSQL的Socket位置

DBSocket=/opt/lampp/var/mysql/mysql.sock

# 多长时间同步一次。

ConfigFrequency=60

# 添加Fping

FpingLocation=/usr/local/sbin/fping

======================================================================================================

# 修改agentd.conf

vi /usr/local/zabbix/etc/zabbix_agentd.conf

# 本机IP地址,不是SRVER的。

Server=192.168.0.2

# 本机IP地址

ServerActive=192.168.0.2

# 与之前的proxy的配置文件里面的主机名保持一致

Hostname=82-proxy

=========================================================================================

[[email protected] etc]# vi /etc/services

zabbix-agent    10050/tcp                      # Zabbix Agent

zabbix-agent    10050/udp                      # Zabbix Agent

zabbix-trapper  10051/tcp                      # Zabbix Trapper

zabbix-trapper  10051/udp                      # Zabbix Trapper

[[email protected] etc]# /usr/local/sbin/zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf

[[email protected] etc]# /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf

这是我的配置信息 大家可以参照

[[email protected] ~]# grep -Ev ‘^#|^$‘ /usr/local/etc/zabbix_proxy.conf

Server=192.168.0.105

Hostname=proxy.benet.com

LogFile=/tmp/zabbix_proxy.log

DBName=zabbix

DBUser=zabbix

DBPassword=123456

DBSocket=/var/lib/mysql/mysql.sock

ConfigFrequency=60

[[email protected] ~]# grep -Ev ‘^#|^$‘ /usr/local/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log

Server=127.0.0.1,192.168.0.105

ServerActive=127.0.0.1

Hostname=proxy.benet.com

这里 我说一下 常碰到问题

这个是在图 你添加 的时候的名字 要与配置文件的名字相同

这个错误 请检查 你的机器的主机名

图像添加分布式

这样就成功了

===========================================================================================

接下来 我们讲告警

第一种:使用Zabbix服务端本地邮箱账号发送邮件

一、安装sendmail或者postfix

yum install sendmail #安装

service sendmail start #启动

chkconfig sendmail on #设置开机启动

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 默认已经安装好sendmail

CentOS 6.x 默认已经安装好postfix

sendmail和postfix只需要安装一个即可并开启服务即可。

二、安装邮件发送工具mailx

yum install mailx #安装

CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

yum remove mailx #卸载系统自带的旧版mailx

下载mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

cd mailx-12.4 #进入目录

make #编译

make install UCBINSTALL=/usr/bin/install #安装

ln -s /usr/local/bin/mailx /bin/mail #创建mailx到mail的软连接

ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息

echo "zabbix test mail" |mail -s "zabbix" [email protected]

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:[email protected]

三、配置Zabbix服务端邮件报警

1、打开Zabbix

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链

管理-示警媒介类型-Email

名称:Email

类型:电子邮件

SMTP伺服器:zabbix.sa.huanqiu.com

SMTP HELO:zabbix.sa.huanqiu.com

SMTP电邮:[email protected]

已经用:勾选

存档

备注:zabbix.sa.huanqiu.com为Zabbix监控主机名称,建议修改,否则使用默认的localhost.localdomain发送邮件会被当做垃圾邮件拦截。

2、设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

切换到示警媒介

添加

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链

类型:Email

收件人:[email protected]

其他默认即可,也可以根据需要设置

状态:已启用

存档

3、设置Zabbix触发报警的动作

组态-动作-创建动作

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

用户:勾选Admin

选择

仅送到:Email

存档

四、测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentd stop

查看[email protected]邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看[email protected]邮箱,会收到恢复邮件

使用Zabbix服务端本地邮箱账号发送邮件设置完成。

好了 今天就说到这里 下次给大家讲讲用户自定义key值

时间: 2024-10-09 18:03:16

zabbix介绍 安装 运用 配置 代理 告警 的使用的相关文章

Git-Repo-Gerrit-1-Git介绍,安装和配置

Git简介 Git是一个分布式版本控制系统.Git客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来.这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复.因为每一次的提取操作,实际上都是一次对代码仓库的完整备份 Git安装 在Ubuntu上: sudo apt-get install git 在Windows上: 到网上搜 msysGit, 下载安装即可 初次运行Git前的配置 一般在新的系统上,我们都需要先配置下自己的 Git 工作环境.配置

zabbix客户端安装及配置

win客户端版本为:zabbix_agents_2.4.4.win linux客户版本为:zabbix_agents_2.4.4.linux2_6.i386.tar.gz 为了方便大家的时间里边有zabbix的服务端与win/linux的客户端 http://download.csdn.net/detail/allen_a/9501668 一.linux客户端安装 1.添加zabbix用户和组. groupadd -g 1001 zabbix useradd -u 1001 -g 1001 -s

Gradle安装和配置代理

一.安装 打开Gradle下载页面,下载最新的gradle-4.6-bin.zip, 解压并配置环境变量: GRADLE_HOME:bin文件夹所在的解压目录 Path:%GRADLE_HOME%\bin 控制台输入gradle -v,返回版本号即安装成功 二.配置代理 从国内访问中心仓库的速度很慢,可配置代理加快访问速度,需自备梯子 方法如下: 修改 $HOME/.gradle/gradle.properties 文件(如果没有可新建) 添加一行: org.gradle.jvmargs=-Ds

zabbix agent安装与配置篇

 Zabbix监控windows部署安装 Zabbix agent 在windows上安装部署 (1)手工安装zabbix agent客户端 1.  下载与解压 地址: http://www.zabbix.com/downloads 解压zabbix_agents_X.X.X.win.zip conf目录存放是agent配置文件 bin文件存放windows下32位和64位安装程序 2.  配置与安装 2.1 配置zabbix agent相关配置. 找到conf下的配置文件 zabbix_age

zabbix的安装与配置

注:邮箱监控还没有做会尽快弄好如有雷同纯属偶然 1,gcc,lamp环境和其他一些的zabbix的依赖软件包 yum -y install gcc* httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate  php-bcmat

zabbix客户端安装和配置(linux)

zabbix源码安装客户端 # tar -xvf zabbix-2.4.6.tar.gz # mv zabbix-2.4.6 zabbix # cd zabbix # ./configure --prefix=/usr/local/zabbix/ --enable-agent # make # make install 添加Zabbix用户和组 # groupadd zabbix # useradd zabbix -g zabbix -s /sbin/nologin 创建Zabbix的日志文件夹

zabbix agent安装与配置、自定义监控

zabbix agent配置 安装agent包 #安装agent包 [[email protected] web]# yum -y install zabbix-agent #编辑agent配置文件路径:/etc/zabbix/zabbix_agentd.conf [[email protected] zabbix]# vim zabbix_agentd.conf  #修改被动的Server,主动的ServerActive Server=192.168.0.17 ServerActive=192

Zabbix-CentOS7下zabbix的安装与配置

前述 Zabbix是基于Web界面的分布式系统监控的企业级开源软件.可以监控各种系统与设备,网络参数,保证服务器设备安全运营:提供灵活的通知机制.这里搭建的是LNMP环境下的zabbix 操作 步骤1: 安装MySQL http://www.cnblogs.com/qq1207501666/p/9032693.html 步骤2: 安装PHP tar -zxvf php-5.6.36.tar.gz && cd php-5.6.36 ./configure --prefix=/local/se

IBM WebSphere MQ介绍安装以及配置服务详解

首先介绍一下MQ MQ消息队列的简称是一种应用程序对应用程序的通信方法.说白了也就是通过队列的方式来对应用程序进行数据通信.而无需专用链接来链接它们. MQ的通讯方式 1.数据报的方式 Datagram (Send and forget) 应用程序在创建完消息后.利用MQ的API将消息发送到队列中.它充分利用了MQ(once and once only ) 2.请求和应答方式 Request/Reply 发送消息之后需等待对方处理结果.  需考虑如下问题: a.等待应答的时间是多少? b.如果没