摘要:前一篇(我搞zabbix的那两天(1))我介绍了Zabbix的安装部署以及遇到的问题,这一篇将介绍zabbix 使用及短信等告警实现!!!

我搞zabbix的那两天(1)

我搞zabbix的那两天(2)

  1. Zabbix主界面及汉化方法介绍

1.1 初始化主界面

浏览器中输入地址:http://ip地址/zabbix,输入用户名和密码登陆后,进入监控软件主界面,登陆后的界面如下图:

可以看到初始化的界面是英文的,为方便使用,需添加中文支持

1.2 添加中文支持

修改文件 /var/www/html/zabbix/include/locales.inc.php

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改成

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

修改文件 /var/www/html/zabbix/include/defines.inc.php

define('ZBX_FONT_NAME', 'DejaVuSans');

修改成

define('ZBX_FONT_NAME', 'STKAITI');

重启zbbix服务端,重启apache

登陆页面设置相应用户的默认语言Administrator---->Users(此处要保证显示的是用户,否则显示的都是用户组)

点击用户名进入用户信息编辑,默认语言选择简体中文,然后点击update更新

1.3 中文主界面

二、Zabbix 的基本配置

2.1 菜单介绍

如上图,zabbix主要有5个一级菜单栏:监控中、资产记录、报表、配置、管理每个主菜单栏下面又多个二级菜单.

  • 监控中:主要是对监控对象的一些相关展示,比如说对web应用的展示。

  • 资产记录:资产管理,类似于公司里的资产管理,比如一个硬件设备,这里可能会标识设备的名称,操作系统,mac地址,资产编号等

  • 报表:这里主要展示了zabbix服务的状态,比如主机数,报警数。还有就是展示了一些设备的可用性报表等相关信息。

  • 配置:这里主要用来对服务器的配置,比如创建主机,创创建模版,创建报警,创建流量图片等相关应用基本的配置主要通过这里来实现。

  • 管理:这里也是用了对服务器进行配置,可配置相比,这里的配置主要实现对zabbix本身的一些相关的配置工作,比如登录zabbix的用户的创建等工作主要通过这里来配置。

2.2 添加监控主机

2.2.1 配置主机

菜单路径:配置->主机,

点击右上角创建主机按钮,在界面中填写必要信息,主机名称和IP地址,组群那里选择预定义的“Linux servers”。

2.2.2 增加监控项和图表

添加后主机要添加监控项,菜单路径:配置->主机,点击主机名称,再点击“监控项”

后点击“创建监控项”,我们这里用尝试监控CPU idle比例,这个配置的关键是键值,具体键值的定义请参考zabbix联机文档,数据更新时间(数据采集频率),历史数据保留时长等信息使用缺省值。

创建完监控项,就可以针对监控项建图表了,比较简单:
然后可以点击“预览”查看效果:

2.2.3 定义触发器

定义触发器:(我们定义一个系统CPU IDLE大于80%就发出警告信息的触发器

2.2.4 定义动作

然后定义动作,规定触发器触发时执行的动作,即报警时要通过什么方式发送给运维人员
菜单路径:配置 >动作,创建动作,我们这里创建一个名为“sendSMS”,即通过短信发送报警信息给运维人员(后面2.3 短信告警配置介绍)

然后再切换到“操作”,定义默认发送信息

2.3 短信告警配置

短信报警的设置和邮件报警的思路是类似的,主要划分为一下几个过程:

1.编写短信报警的脚本;

2.在zabbix的操作界面添加短信报警媒介;

3.对指定的用户添加短信报警方式;

4.设置动作何时进行短信报警;

  • 设置短信脚本

接下来我们来服务器配置短信脚本sendSMS.sh,进入到/usr/local/zabbix/alertscripts(为什么是进入到这个目录,因为我们zabbix_server.conf配置的AlertScriptsPath目录是这个),创建sendSMS.sh

注意:
1、打包jar方式
/lutong/zabbix-3.2.0/sms/SMS.jar包含的是短信告警的代码,该工程包括了第三方的jar包,我是用Eclipse将引用了第三方jar包的Java项目打包成可执行jar,这里不做多说明,请查看附件
2、执行jar包的环境
这里是直接用到java命令执行jar包的方式,所以确保你的电脑是是安装了java环境,像上图服务器java环境是安装在/usr/lcoal/java/jdk1.7.0_76/bin/java
3、两个变量说明
MOBILE_NUMBER=$1 # 手机号码

MESSAGE_UTF8=$2 # 短信内容

这两个变量即我们在页面报警媒介中填写的手机号码,最后是通过执行jar包中的方法时传进去了,来看下我们的jar中的打包前main方法
上面我们提到了配置动作用到了短信告警,接下来我们来介绍短信告警实现。
需要先设置“报警媒介类型“,
在菜单”管理”→“报警媒介类型”里面创建报警媒介类型,我这里名称填写“福富短信”,类型选择“脚本”,脚本名称填写“sendSMS.sh”(sendSMS.sh就是我们在服务器创建的短信告警脚本)

  • 对指定的用户添加短信报警方式

在菜单”管理”→“用户”里面创建用户Admin,名称填写“福富短信”,类型选择“脚本”

切换到“报警媒介”,依次选择报警类型(即我们上面填写创建的福富短信)、收件人手机号码,以及何时触发短信发送

测试,我们通过使其中一台服务器CPU偏高,立即就收到了短信

附件:

方案:利用Eclipse自带的Export功能打包可执行的jar

步骤1:准备主清单文件 “MANIFEST.MF”

由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:

Manifest-Version: 1.0

Class-Path: SMS.justTest

第一行是MAINIFEST的版本,第二行Class-Path就指定了外来jar包的位置,第三行指定我们要执行的MAIN java文件。

这里要注意几点:

1、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;

2、假设我们的项目打包后为SMS.jar,那么按照上面的定义,SMS.jar和其用到的jar包open189-sign-1.0.jar应该在在同一个目录下。

否则将会出现“Exception in thread "main" java.lang.NoClassDefFoundError”的错误;
3、Main-Class后面是类的全地址,比如你的主文件是KillCheatFans.java,文件里打包为package com.main; 那么这里就写com.main.KillCheatFans,
不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;
4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,
否则将会出现“jar中没有主清单属性”的错误。
步骤2:右击Java工程选择Export—>选择JAR file—>Next

步骤3:选择要打包的文件,不需要的文件不必打包,减小打包后的jar文件大小,并进行选项配置如下

这里有几个选项:

* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件

* Export all output folders for checked projects 表示导出选中项目的所有文件夹

* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了

* Export refactorings for checked projects 把一些重构的信息文件也包含进去

步骤4:选择我们在第一步中自定义的配置文件路径,这一步很重要,不能采用默认选项

这里解释一下配置项:

* Generate the manifest file:是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他18class-path,那可以选择这一项。

* Use existing mainfest from workspace:这是可以选择我们自定义的.MF文件,格式如上所写,引用了第三方包时选用。

* Seal content:要封装整个jar或者指定的包packet。

* Main class:这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。

最后Finish,即生成了我们要的jar文件。

在命令行下运行命令java -jar 你的jar文件名称,比如上面的短信脚本执行如下:

如果在jar中有一些System.out.prinln语句(如上执行结果),运行后不想在控制台输出而是保存在文件中方便以后查看,可以用一下命令:

/usr/local/java/jdk1.7.0_76/bin/java
-jar /lutong/zabbix-3.2.0/sms/SMS.jar "$MOBILE_NUMBER"
"$MESSAGE_UTF8" > log.txt
(这时命令行窗口不会有任何输出)
输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和SMS
.jar一个目录中。

学习本就是一个不断模仿、练习、再到最后面自己原创的过程。

虽然可能从来不能写出超越网上通类型同主题博文,但为什么还是要写?
于自己而言,博文主要是自己总结。假设自己有观众,毕竟讲是最好的学(见下图)。

于读者而言,笔者能在这个过程get到知识点,那就是双赢了。
当然由于笔者能力有限,或许文中存在描述不正确,欢迎指正、补充!
感谢您的阅读。如果本文对您有用,那么请点赞鼓励。

  

												

我搞zabbix的那两天(2)的更多相关文章

  1. 我搞zabbix的那两天

    摘要:在生产环境上对服务器进行网络参数(比如CPU.内存等)的监控是很必要的,比如当服务器网络参数如内存不够用.磁盘空间快要占满时及时通知运维人员进行处理,保证服务器系统的安全.而zabbix就是这么 ...

  2. 我搞zabbix的那两天(1)

    摘要:在生产环境上对服务器进行网络参数(比如CPU.内存等)的监控是很必要的,比如当服务器网络参数如内存不够用.磁盘空间快要占满时及时通知运维人员进行处理,保证服务器系统的安全.而zabbix就是这么 ...

  3. zabbix 使用问题两个--中文乱码,以及监控ESXi下的虚拟机

    1. 中文乱码 最开始中文显现 长方形不显示文字.解决办法: c:\windows\fonts 下面复制 楷体的字体(字体随意看自己喜欢) 文件名一般为: simkai.ttf 2.将simkai.t ...

  4. 转 zabbix 优化方法 以及 后台数据库查询方法 两则

    ############sample 1 https://blog.51cto.com/sfzhang88/1558254 如何从Zabbix数据库中获取监控数据 sfzhang关注6人评论40627 ...

  5. ss命令结合zabbix对socket做监控

    本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 最近天冷了,socket也出问题了,一直没有做监控,现在就把监控加起来,目前我们使用的有z ...

  6. python调用zabbix接口实现Action配置

    要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...

  7. Zabbix简介及安装

    前言 未经监控就上线的系统,就是裸奔,耍流氓. 监控对我们来说太重要了,监控工具也有很多,像,Cacti,Nagios,Ganglia,Zabbix等等,今天我们要介绍的是Zabbix,它的功能很强大 ...

  8. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群

    一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...

  9. 分布式系统监视zabbix讲解三之用户和用户组--技术流ken

    概述 Zabbix 中的所有用户都通过 Web 前端去访问 Zabbix 应用程序.并为每个用户分配唯一的登陆名和密码. 所有用户的密码都被加密并储存于 Zabbix 数据库中.用户不能使用其用户名和 ...

随机推荐

  1. 浅谈IM(InstantMessaging) 即时通讯/实时传讯

        一.IM简要概述 IM InstantMessaging(即时通讯,实时传讯)的缩写是IM,互动百科大致解释是一种可以让使用者在网络上建立某种私人聊天(chatroom)的实时通讯服务. 大部 ...

  2. JavaScript 性能优化技巧分享

    JavaScript 作为当前最为常见的直译式脚本语言,已经广泛应用于 Web 应用开发中.为了提高Web应用的性能,从 JavaScript 的性能优化方向入手,会是一个很好的选择. 本文从加载.上 ...

  3. 如何利用panel在一个窗口中实现诸多页面的显示

    Book_register form11 = new Book_register();//new一个对象 form11.TopLevel = false;//去除子窗体的顶级窗体设置 form11.P ...

  4. win10 mysql详尽安装教程

    我的电脑系统是win10 64位系统 我安装mysql不下5次,装好了又卸,卸了又装,看了老多篇文章和博客,非常感谢博主的无私帮助,以下是这些博主的文章: https://www.cnblogs.co ...

  5. linux进程管理和系统状态查看命令简介

    1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描 ...

  6. 运行期以索引获取tuple元素-C++17

    //运行期以索引获取tuple元素-C++17 //需支持C++17及以上标准的编译器,VS2017 15.5.x.CodeBlocks 16.01 gcc 7.2 //参见:http://purec ...

  7. hadoop单机版安装及基本功能演示

    本文所使用的Linux发行版本为:CentOS Linux release 7.4.1708 (Core) hadoop单机版安装 准备工作 创建用户 useradd -m hadoop passwd ...

  8. LeetCode :My solution N-Queens

    N-Queens Total Accepted: 15603 Total Submissions: 60198My Submissions The n-queens puzzle is the pro ...

  9. 诡异的 "password取回" 邮件问题

    大部分系统中都有"找回password"的功能,我们的平台也做了此功能,用户可通过 短信,邮件 找回password. 当中对于邮件找回password的方式遇到奇特的问题.记录下 ...

  10. Codeforces Round #271 (Div. 2) F题 Ant colony(线段树)

    题目地址:http://codeforces.com/contest/474/problem/F 由题意可知,最后能够留下来的一定是区间最小gcd. 那就转化成了该区间内与区间最小gcd数相等的个数. ...