zabbix 3.0.3 学习笔记

一.安装zabbix及解决图表方块字

1.安装zabbix(配置好相关yum源,解决包依赖问题,参考官方文档)

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

2.更换PHP的时区

vim /etc/php.ini

data.timezone = "Asia/Shanghai"

3.配置mysql,解决编码问题

vim /etc/my.cnf

character-set-server=utf8

mysql -uroot -p<password>

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to [email protected] identified by ‘zabbix‘;

cd /usr/share/doc/zabbix-server-mysql-3.0.3/

zcat create.sql.gz | mysql -uroot zabbix

vi /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

4.其它配置

关闭sellinx

firewall-cmd --add-service=http

firewall-cmd --add-service=http --permanent

5.解决中文语言状态预览方块字

/usr/share/zabbix/fonts (linux下zabbix字体存路径 )到windows下载字体到此目录字体的TTF后缀改为小写

/usr/share/zabbix/include/defines.inc.php          #修改字体的配置文件

define(‘ZBX_GRAPH_FONT_NAME‘,           ‘SIMKAI‘); // font file name

二.添加被监控主机

1.安装客户端

yum install zabbix-agent.x86_64

2.配置客户端

/etc/zabbix/zabbix_agentd.conf

Server=192.168.178.134

ServerActive=192.168.178.134

Hostname=centos7 #和服务器主机名称保持一致

3.服务器配置

配置--主机--创建主机

三.定义监控项,自定义key

1.在主机上创建监控项

配置--主机--监控项--创建监控项

2.key的使用

proc.num[<name>,<user>,<state>,<cmdline>]

proc.num[,,,] # name,user,state为默认值

proc.num  # 查看所有的里程,客户端已经安装了代理,代理会自动的监测系统中的很多信息

3.安装zabbix-get获取客户端数据

yum install zabbix-get -y  # 需要配置好yum源

4.zabbix_get的使用

zabbix_get -s 被监测服务器地址 -k 监测的key

zabbix_get -s 192.168.178.132 -k proc.num[,,,]

zabbix_get -s 192.168.178.132 -k proc.num[,zabbix,] # 四个,号后面不使用的,,可以不写,前面的,号不能忽略

zabbix_get -s 192.168.178.132 -k proc.num[,,,pro] # pro为第四个值(cmdline),匹配关键字含有pro的进程

cmdline-->写上一个关键字,比如写pro,那么在ps aux里面command部分里面出现pro的进程都匹配

5.在服务器上创建主机图表

配置---主机---创建图形

--------------------------------------------------------------------------------------------------------------------------------------------------

测试多进程监控脚本

#!/bin/bash

while :

do

echo 1 > /dev/null

done

--------------------------------------------------

#!/bin/bash

if [ $# -ne 1]; then

echo ‘必须跟一个数字‘

exit 1

fi

echo "终止测试,请连续按ctrl+c"

trap ‘killall -9 sh &> /dev/null ; rm -rf /tmp/aa*.sh‘ INT

for i in `seq 1 $1`

do

cp /root/aa.sh /tmp/aa${i}.sh

sh /tmp/aa${i}.sh &

done

--------------------------------------------------------------------------------------------------------------------------------------------------

6.自定义KEY

在客户端进行设置

/etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.d/ # 在此目录写自定义脚本

语法: UserParameter=key的名称,命令

例子:UserParameter=num-of,ps aux --no-header | wc -l

zabbix_get -s 192.168.178.132 -k num-of # 在服务器上执行触发客户端执行num-of的命令或脚本并将执行的结果回传给服务器

语法:UserParameter=key的名称[*],命令 $1

例子:UserParameter=pro[*],echo $1

zabbix_get -s 192.168.178.132 -k pro[1]

配置--主机--监控项--创建监控项

自定义的键值在选择按钮列表是找不到键值的,需要手工录入

四.触发器的使用及报警

1.触发器的创建,针对某一个监控项

配置--主机--创建触发器

仅仅创建触发还不够,必须创建一个动作,当满足触发器的条件的话,然后要执行什么操作

2.动态的创建

配置---动作--事件来源[触发器]--创建动作

创建了一个动作--->当触发器触发的时候,则把信息发送给指定的人

当centos7.1上进程超过100的时则触发了这个条件,触发了动作会产生一些信息并且将这些信息发送给指定的人。

3.用户管理

管理--用户

决定admin收到信息之后要执行的操作,决定使用什么方式报警:

a.邮件

决定admin这个用户以什么邮件地址作为发件人

b.脚本

4.媒介类型的创建与修改

管理--报警媒介类型--创建媒介类型

5.微信警报 (企业公众号)

配置一个触发器同,当cpu超过80%的时候就开始微信报警

/etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/lib/zabbix/alertscripts # 将微信脚本放至此目录

/usr/lib/zabbix/alertscripts/WeiXin-Private-API/config.php # 修改此文件

/usr/lib/zabbix/alertscripts/WeiXin-Private-API/test.php

$testFakeId = "$argv[1]"; # 发送给指定的用户

$msg="$argv[3]"; # 发送的信息内容

./weixin "owZmQwSvaFm1RmaYvmAdhoaemoDU" ‘‘ ‘hello lincx‘ # 测试消息发送

五.其它设置

1.应用集的定义

把相关的监控项定义一个应用集,对监控项进行分类

配置--主机--应用集--创建应用集

2.主机组定义

基于服务器进行分类,对类型相同的服务器进行分组

3.模板的创建(应用集、监控项、触发器 、图形、聚合图形、自动发现、Web监测,元素的集合被主机引用)

4.聚合图形的使用(基于图形)

5.幻灯片的使用(每隔一时间内自动切换多个聚合图形)

6.网络拓扑图

插入背景图(管理--一般--图片--创建图片)用于拓扑区分地理位置

7.宏定义

{$变量名} # 一般使用大写字母,全局性引用

全局性的设置

主机级别的变量

管理--一般--宏--添加--更新

监控项的名称、键值的参数可以引用自定义的宏xx[,{$AA},]

网络拓扑图不能引用这种变量,使用的是内置的变量例如{HOST,NAME}

zabbix有很多内置的宏(查询相关资料)

配置--主机--创建主机--宏定义(只能用于该主机,其它主机不能使用该主机自定义的宏)

七.自动化

1.网络发现:zabbix服务器主动扫描环境中的主机,满足条件的话,自动的添加过来

使用第三方软件

puppet

saltstack

配置--自动发现--创建自动发现

2.自动发现动作的创建

发现主机后在哪个主机组里进行添加主机、使用哪个模板等的操作

2.1.配置--动作--事件源[自动发现]--创建动作

3.自动注册:zabbix server不主动,而是客户端主动去向zabbix server发送请求,要求注册

服务器需要设置一个动作,指定哪些客户端能加进来

配置--动作--事件源[自动注册]--创建动作

/etc/zabbix/zabbix_agentd.conf

HostMetadata=xx # xx客户端与服务端匹配的字符串

4.低级别发现(low-level discovery):

可以让其自动的发现客户端要监测哪些东西

比如监测分区不同的机器的分区肯定是不一样的

vfs.fs.size[/boot,used]

vfs.fs.size[/,used]

不同机器不同分区需要逐个去设置比较繁琐,可以让zabbix自动的去发现客户端的分区情况,然后根据实际情况自动的定义监控项

zabbix_get -s 192.168.178.132 -k vfs.fs.discovery # 动态获取被监控机器的分区类型

{#FSNAME}--->  挂载点

{#FSTYPE}--->  文件系统类型

低级别发现是基于模板的,在这个模板里不需要定义具体的监控项,需要定义的是原型,监控项原型、图表原型

当某个主机使用这个模板的时候,会把模板里面的监控项原型转变为监控项、图表原型转变为图表

4.1.配置--模板--创建模板--自动发现--创建发现规则

通过vfs.fs.discovery可以获取客户端所有的文件系统信息

4.2.配置--模板--自动发现--监控项原型--创建监控项原型

4.3.配置--模板--自动发现--图形项原型--创建图形原型

八.分布式

1.安装zabbix-proxy

配置好相关yum源

yum install zabbix-proxy zabbix-proxy-mysql mariadb-server -y

2.配置mysql,解决编码问题

vim /etc/my.cnf

character-set-server=utf8

mysql -uroot -p<password>

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to [email protected] identified by ‘zabbix‘;

cd /usr/share/doc/zabbix-proxy-mysql-3.0.3/

shell> mysql -uzabbix -p<password> zabbix < images.sql

shell> mysql -uzabbix -p<password> zabbix < data.sql

3.代理服务器配置文件相关修改

/etc/zabbix/zabbix_proxy.conf

Server=192.168.178.134 # zabbix服务器的IP

DBHost=localhost

DBPassword=zabbix

Hostname=Zabbix proxy

SourceIP=192.168.178.132 # 代理服务器自己的IP

重启动服务

systemctl restart zabbix_proxy

4.代理的配置

管理---代理---创建代理

清除日志

cat /dev/nul > /var/log/zabbix/zabbix_agentd.log

时间: 2024-10-04 10:35:23

zabbix 3.0.3 学习笔记的相关文章

HBase-1.0.1学习笔记汇总

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. HBase-1.0.1学习笔记(一)集群搭建 http://luchunli.blog.51cto.com/2368057/1682049HBase-1.0.1学习笔记(二)客户端访问 http://luchunli.blog.51cto.com/2368057/1687458 HBase-1.0.1学习笔记(三)启动脚本解析 http://luchunli.blog.51cto.com/2368057/1690619 HBas

hadoop1.0.3学习笔记

回 到 目 录 最近要从网上抓取数据下来,然后hadoop来做存储和分析.每晚尽量更新 呆毛王赛高 月子酱赛高 小唯酱赛高 目录 安装hadoop1.0.3 HDFS wordcount mapreduce去重 mapreduce算平均分 mapreduce排序 安装hadoop1.0.3 1 ubuntu中安装hadoop 1.0.3 2 ------------伪分布式安装------------- 3 1.安装ssh 4 sudo apt-get install openssh-serve

Redis3.0.5学习笔记(一)基础入门

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. 官方网站:http://redis.io/ 下载地址:http://redis.io/download 中文帮助:http://www.redis.cn/ Redis是一种面向"键/值"对数据类型的内存数据库,可以满足我们对海量数据的读写需求. redis的键只能是字符串: redis的值支持多种数据类型: 1:字符串 string 2:哈希 hash 3:字符串列表 list 4:字符串集合 set 不重复,无序 5

Google Guava14.0 瓜娃学习笔记

Guava 是java api的增强与扩展,提供复杂的java 数据结构,使你的代码更简短精炼,具有良好的可读性.看看guava给我们提供了哪些很酷的功能: 集合创建: Map<String, Map<String, String>> map = Maps.newHashMap(); List<List<Map<String, String>>> list = Lists.newArrayList(); 集合初始化: Set<String&

Redis3.0.5学习笔记(四)Redis中键的生存时间

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. 本文出自 "闷葫芦的世界" 博客,请务必保留此出处http://luchunli.blog.51cto.com/2368057/1710786

Redis3.0.5学习笔记(三)JavaApi操作Redis

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. 本文出自 "闷葫芦的世界" 博客,请务必保留此出处http://luchunli.blog.51cto.com/2368057/1710783

vue2.0 路由学习笔记

昨天温故了一下vue2.0的路由 做个笔记简单记录一下! 1.首相和vue1.0一样 要使用vuejs的路由功能需要先引入vue-router.js 2.然后修改原有a标签处代码 这里以一个ul li a 为例 <ul> <li><a href="#"></a></li> <li><a href="#"></a></li> </ul> 使用 rou

zabbix 从0开始学习的步骤

注明:以下学习过程参考了很多文档,如有问题,请留言联系!谢谢 一.系统版本 CentOS-6.5-x86_64 二.环境 1.主机名 1.1 hostname 1.2 vim /etc/sysconfig/network HOSTNAME= 2.网卡 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.2.35 3.selinux vim /etc

Swift2.0 函数学习笔记

最近又有点忙,忙着找工作,忙着适应这个新环境.现在好了,上班两周周了,也适应过来了,又有时间安安静静的就行我们前面的学习了.今天这篇笔记,记录的就是函数的使用.下面这些代码基本上是理清楚了函数的额使用,但还有一块“闭包”的内容,后面我们单独写一块出来. // 形参传递的过程中,由于没有写外部形参名称,第一个形参的外部形参名字可以省略,第二的的不可以省略 let zxtest = testString(1, zc: 2) print(zxtest) // 返回值是一个元组的形式返回到,参数的传递和