• 第1章1zabbix快速入门


    注意:本文不涉及性能测试、性能优化中的监控,所有文字的出发点都是日常运维监控。

    在开始之前,我们还是先统一下认识:要监控一个对象,需要掌握哪些东西呢?

    监控对象的理解要监控的对象你是否了解呢?比如CPU到底是如何工作的?

    监控对象的指标:我们要监控这个东西的什么属性?比如CPUCPU使用率、负载、上下文切换。

    确定报警基准线:怎么样才算是故障,要报警呢?比如CPU的负载到底多少算高?

    如果上述的条件不满足,那就先不要开始实施监控了,因为等做完了,你会发现,然并卵?

    1.1Zabbix安装前准备

    主机名

    IP地址

    描述

    版本

    linux-node1.com

    192.168.90.11

    Zabbix-Server

    CentOS7

    linux-node2.com

    192.168.90.12

    Zabbix-Proxy

    CentOS7

    1.2Server服务端安装配置

    1.2.1zabbix-Server安装

    Zabbix3整个web界面做了一个全新的设计。

    Zabbix存储配置包以及yum配置文件。

    [root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

    Zabbix程序包安装,以及MySQLZabbix-agent

    [root@linux-node1 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server

    创建Zabbix数据库以及用户。对这样的说明,参考MySQL数据库创建脚本

    [root@linux-node1 ~]# mysql -uroot -p

    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

    Query OK, 1 row affected (0.00 sec)

    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

    Query OK, 0 rows affected (0.00 sec)

    导入初始模式和数据

    [root@linux-node1 ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.3/

    [root@linux-node1 zabbix-server-mysql-3.0.3]# zcat create.sql.gz |mysql -uroot zabbix

    编辑Zabbix_server.conf数据库配置

    [root@linux-node1 ~]# grep  ^[a-Z]  /etc/zabbix/zabbix_server.conf

    LogFile=/var/log/zabbix/zabbix_server.log

    LogFileSize=0

    PidFile=/var/run/zabbix/zabbix_server.pid

    DBHost=localhost

    DBName=zabbix

    DBUser=zabbix

    DBPassword=zabbix

    SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

    Timeout=4

    AlertScriptsPath=/usr/lib/zabbix/alertscripts

    ExternalScripts=/usr/lib/zabbix/externalscripts

    LogSlowQueries=3000

    启动Zabbix服务进程

    [root@linux-node1 ~]#  systemctl start zabbix-server

    Apache的配置文件/etc/httpd/conf.d/zabbix.conf默认PHP已经配置好了。取消注释,设置正确的时区

    [root@linux-node1 ~]# vim /etc/httpd/conf.d/zabbix.conf

    php_value max_execution_time 300

    php_value memory_limit 128M

    php_value post_max_size 16M

    php_value upload_max_filesize 2M

    php_value max_input_time 300

    php_value always_populate_raw_post_data -1

    php_value date.timezone Asia/Shanghai

    通过改变配置文件重新启动Apache Web服务器

    [root@linux-node1 ~]# systemctl start httpd

    1.2.2配置Web界面

    在你的浏览器,打开网址http://Zabbix_server_ip/zabbix

    你应该看到的web安装向导的第一个屏幕,如图1-1

    1-1

    确保所有软件先决条件。如图1-2

    1-2

    输入连接到数据库详细信息。Zabbix数据库必须已经创建好。如图1-3

    1-3

    连接Zabbix服务细节,如果没有改变可选择默认如图1-4

    1-4

    回顾一个设置概要,如图1-5

    1-5

    完成安装,会在/etc/zabbix/web/zabbix.conf.php生成配置文件。如图1-6

    1-6

    Zabbix登陆准备。默认的用户名/密码为Admin/zabbix。如图1-7

     

    1-7

    1.3Agent客户端安装配置

    Zabbix可以用Agent/Server的架构,客户端的采集方式分为AgentSNMP等,通常情况都是使用Agent方式对服务器进行监控,后续再学习使用其他监控方式(SNMPJMXIPMI

    1.3.1zabbix-Agent安装

    安装zabbix-agent使用yum即可.agent版本可以低于Server版)

    [root@linux-node2 ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

    [root@linux-node2 ~]# yum install zabbix-agent -y

    1.3.2zabbix-Agent配置

    配置AgentServer间通过Zabbix私有协议通信,需要了解主动模式和被动模式:

    Server被动模式:Server端主动向Agent采集数据。(1000台机器以内机器推荐使用)

    ServerActive主动模式:Agent主动像Server端发送数据。(1000台以上机器推荐使用)

    [root@linux-node2 ~]# sed -i 's#Server=127.0.0.1#Server=192.168.90.11#g' /etc/zabbix/zabbix_agentd.conf #修改被动模式监听地址为zabbix-serverIP地址

    [root@linux-node2 ~]# egrep -v '^#|^$' /etc/zabbix/zabbix_agentd.conf #查看修改后信息

    PidFile=/var/run/zabbix/zabbix_agentd.pid

    LogFile=/var/log/zabbix/zabbix_agentd.log

    LogFileSize=0

    Server=192.168.90.11  #被动模式 zabbix-serverIPAgent可以有多个Ip 用于向多个Master发送数据)

    ServerActive=127.0.0.1  #主动模式(Agent自动像Server发送数据)

    Hostname=linux-node2.com

    Include=/etc/zabbix/zabbix_agentd.d/

    1.4zabbix配置文件

    Zabbix的配置虽然不是很复杂,但有的配置参数很难用上,接下来就针对ZabbixServerZabbixAgent的配置文件,对其每个参数进行介绍,不求大家都深入了解,但是希望大家通过对本小结的学习知道每个参数是干什么用的。

    1.4.1Zabbix_server.conf

    Zabbix_Server很显然这个是server的配置文件,参数具体作用如下1-1表格列出

    参数名称

    是否必

    认值

    ListenPort

    10050

    TrapperItem监听的端口

    SourceIP

    在连接其他服务器时,使用的本机IP地址

    LogType

    file

    syslog #日志

    file #指定日志文件位置(指定位置方便管理)

    console #输出至屏幕

    LogFile

    /var/log/zabbix/zabbix_server.log

    LogType设置file,使用文件来记录zabbixserver日志位置

    LogFileSize

    1

    0表示禁用日志自rotation,如果日志达到了限制,并且rotation,老日志文件将会被清空掉,重新生成一个新日志

    DebugLevel

    3

    0 - 有关的zabbix过程的启动和停止的基本信息

    1 - 信息

    2 - 错误信息

    3 - 警告

    4 - 用于调试生大量的信息)

    5 - 扩展调试(产生更多的信息

    PidFile

    /var/run/zabbix/zabbix_server.pid

    记录Zabbix Server pid的文件位置

    DBHost

    localhost

    ZabbixServer数据库位置,设置localhost默认使用MySQL端口

    DBName

    zabbix

    数据库名称

    DBScheme

    IBM DB2或者PostgreSQL生效

    DBUser

    zabbix

    数据库用户

    DBPassword

    数据库密码

    DNSocket

    /tmp/mysql.sock

    MySQL Socket文件

    DBPort

    3306

    MySQL端口

    StartPollers

    5

    pollers进程数,可以简单理解为zabbix工作的一个worker

    StartIPMIPollers

    0

    IPMIPollers程数

    StartPollersUnreachable

    1

    检查unreachable hosts(包括IPMI)进程数

    StartTrappers

    5

    Trappers程数

    StartPingers

    1

    用于discoverdiscoverer进程数

    StartHTTPPollers

    1

    用于HTTP检查的进程数

    StartTimers

    1

    Timers的进程数

    StartEscalators

    1

     

    JavaGateway

    Zabbix Java gateway使用的IP或者hostname

    JavaGatewayPort

    10052

    Java gateway使用的端口

    StartJavaPollers

    0

    Java pollers的进程数

    StartVMwareCollectors

    0

    Vmware poller的进程数

    VMwareFrequency

    60

    ZabbixVmware获取监控指的频率,单位是秒

    VMwarePerfFrequency

    60

    多久Zabbix会连接到VMware服务获取性能数据

    VMwareCacheSize

    8M

    Vmware的缓存,存储Vmware数据的共享内存大小,只有当Vmware collectors启动生效

    VMwareTimeout

    10

    Vmware的超时时间

    SNMPTrapperFile

    /var/log/snmptrap/snmptrap.log

    SNMP设备将在数据发送到Server前会将SNMP数据存在文件中

    StartSNMPTrapper

    0

    SNMPTrapper开始

    ListenIP

    0.0.0.0

    Trappers监听的IP

    HousekeepingFrequency

    1

    Zabbix执行Housekeeper的频率

    MaxHousekeeperDelete

    5000

    Zabbix数据库中,有一张housekeeper表,里面记录了housekeeper要执行的任务

    SenderFrequency

    30

    Zabbix发送报警的时间间隔

    CacheSize

    8M

    存储HostItemTrigger数据的内存空间

    CacheUpdateFrequency

    60

    将配置信息同步到内存中的频率

    StartDBSyncers

    4

    将数据同步到数据库的内存大小

    HistoryCacheSize

    16M

    存储History数据的内存大小

    HistoryIndexCacheSize

    4M

    历史索引缓存大小

    TrendCacheSize

    4M

    存储Trends数据的内存大小

    ValueCacheSize

    8M

    历史值缓存大小,0不缓存

    Timeout

    4

    Zabbix等待AgentSNMP设备或者自定义脚本的执行时间

    TrapperTimeout

    300

    Trapper处理新数据的超时时间

    UnreachablePeriod

    45

    host保持unreachable状态后多久将其标记为unreachable状态

    UnavailableDelay

    60

    Hostunabailable状态时,检查Hostavailability的频率

    UnreachableDelay

    15

    Hostunabailable状态时,检查Hostavailability的频率

    AlertScriptsPath

    /usr/lib/zabbix/alertscripts

    自定义报警脚本的位置

    ExternalScripts

    /usr/lib/zabbix/externalscripts

    自定义监控脚本的位置

    FpingLocation

    /usr/sbin/fping

    fping位置,fping可执行文件的owner要设置为root,并且设置suid

    Fping6Location

    /usr/sbin/fping6

    同上。可以处理IPV6

    SSHKeyLocation

    使用SSH检查和action所需要的SSH公钥、私钥位置

    LogSlowQueries

    3000

    记录数据慢查询,只有设置为3或者4才会生效。0默认关闭

    TmpDir

    /tmp

    临时文件目录

    StartProxyPollers

    1

    被动Proxypoller进程数

    ProxyConfigFrequency

    3600

    Zabbix Server将配置信息同步到Proxy的频率,这个参数只对被动的Proxy生效

    ProxyDataFrequency

    1

    ZabbixServer请求Proxy历史数据的频率。这个参数只对被动的Proxy生效

    AllowRoot

    0

    是否允许Serverroot身份运行。0表示不允许,1表示允许。

    User

    zabbix

    下降到特定用户权限

    Include

    指定存放自定义监控的文件位置

    SSLCertLocation

    ${datadir}/zabbix/ssl/certs

    SSL 证书的位置(此参数只用于web监控)

    SSLKeyLocation

    ${datadir}/zabbix/ssl/keys

    钥为 SSL 证书

    SSLCALocation

    SSL 服务器证书验证的证书机构 CA文件的位置( 此参数只用于 web 监测和 SMTP 身份验证)

    LoadModulePath

    {libdir}/modules

    loadable组件的位置

    LoadModule

    需要Server载入的loadable组件,格式为LoadModule=<module.so>

    TLSCAFile

    顶级CA证书的文件

    TLSCRLFile

    吊销证书文件路径

    TLSCertFile

    服务器证书或证书链的文件

    TLSKeyFile

    服务器专用密钥的文件

     

    1.4.2Zabbix_agentd.conf

    参数名称

    是否必

    认值

    PidFile

    /var/run/zabbix/zabbix_agentd.pid

    记录Zabbix Agent pid的文件位置

    LogType

      file

    syslog #日志

    file #指定日志文件位置(指定位置方便管理)

    console #输出至屏幕

    LogFile

    /var/log/zabbix/zabbix_agentd.log

    LogType设置file,使用文件来记录zabbixserver日志位置

    LogFileSize

    0

    0表示禁用日志自rotation,如果日志达到了限制,并且rotation,老日志文件将会被清空掉,重新生成一个新日志。

    DebugLevel

    3

    0 - 有关的zabbix过程的启动和停止的基本信息

    1 - 信息

    2 - 错误信息

    3 - 警告

    4 - 用于调试生大量的信息)

    5 - 扩展调试(产生更多的信息

    SourceIP

    对外发起网络时使用的IP

    EnableRemoteCommands

    0

    是否允zabbixserver控制agent行命令。0表示不允1表示允

    LogRemoteCommands

    0

     

    Server

    127.0.0.1

    ZabbixServerIP或者主机名。ZabbixAgent只会接受来自IP或者主机名。如果有多个可以使用逗号分割

    ListenPort

    10050

    ZabbixAgent听的端口

    ListenIP

    0.0.0.0

    ZabbixAgent听的IP

    StartAgents

    3

    理被动检查Zabbix_agentd数。如果设置为0,那么这个Agent的被动检查功能将禁止。Agent不会监听在所有的TCP端口

    ServerActive

    127.0.0.1

    Zabbix模式(动发送采集数据ZabbixServer)

    Hostname

    运行ZabbixAgentdhostname。必server中配置的hostname相同(不写是主机名)

    HostnameItem

    system.hostname

    如果Hostname空,会候用个参数定keyHostname,比如默system.hostnameZabbixKey

    HostMetadata

    host autho-registration中使用。如果超255个字符。Agent报错。如果没有置,那么会从HostMetadataItme个参数中

    HostMetadataItem

    使用一个kethost metadate

    RefreshActiveChecks

    120

    主动检查项目列表刷新的时间

    BufferSend

    5

    buffer存多少秒的数据

    BufferSize

    100

    在内存buffer存数据的最大个数,当buffer中的数据个数达到最大后,会将数据送到server或者Proxy

    MaxLinesPerSecond

    20

    loglogrt型的item个参数定了每秒server或者Proxy的最大行数。

    Timeout

    3

    理数据的超时时间

    AllowRoot

    0

    是否允许Serverroot身份运行。0表示不允许,1表示允许。

    User

    zabbix

    下降到特定用户权限

    Include

    /etc/zabbix/zabbix_agentd.d/

    指定存放自定义监控的文件位置推荐:/etc/zabbix/zabbix_agentd.d/*.conf

    UnsafeUserParameters

    0

    在用自定parameter中,所有的参数都会传递给脚本

    UserParameter

    自定脚本的parameterparameterkey和脚本的对应关系。格式UserParameter=<key>,<shell command>

    LoadModulePath

    ${libdir}/modules

    loadable组件的位置

    LoadModule

    需要Server载入的loadable组件,格式为LoadModule=<module.so>

    TLSConnect

    unencrypted

    接不加密

    TLSAccept

    unencrypted

    接受不加密的

    TLSCAFile

    顶级CA证书的文件

    TLSCRLFile

    吊销证书文件路径

    TLSServerCertIssuer

    TLS证书签发

    TLSServerCertSubject

    证书

    TLSCertFile

    服务器证书或证书链的文件

    TLSKeyFile

    服务器专用密钥的文件

    TLSPSKIdentity

    共享密区分大小写字符串

    TLSPSKFile

    共享密文件路径

    1.5zabbix宏的概述

    宏的作用是便于在模板、ItemsTrigger中的引用

    Zabbix有许多内置的宏,如{HOST.NAME}{HOST.IP}{TRIGGER.NAME}

    详细信息请参考官方文档: https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location

    为了更强的灵活性,Zabbix还支持全局宏-模板宏-主机宏级别使用用户自定义宏(user macro),用户自定义宏要使用”{$MACRO}”这种特殊的语法格式, 宏的名称只能使用大写字母、数字及下划线

    宏可以应用在item keysdescriptionsTrigger名称和表达式、主机接口IP/DNS及端口、discovery机制的SNMP协议的相关信息中等。

    1.5.1宏的替换次序

    首先是主机级别的宏;其次是当前主机上一级模板中(直接链接至主机的模板)的宏,多个一级模板按其ID号排序;

    再接着是二级模板中的宏;而后依次类推;最后检查的是全局宏;

    Zabbix如果无法查找到某主机定义使用的宏,则不会对其进行替换操作。要使用用户自定义宏,有以下两种途径:

    全局宏:AdministrationGeneralMacros

    主机或模板级别的宏:编辑相应主机或者模板的属性即可

    1.5.2宏的使用示例

    在主机级别定义一个名为{$NETWORK_NUMBER}的宏,以定义当前主机所接受的网卡进口流量的合理大小(当然这里值根据具体情况来做,仅供一个参考)如图1-8、图1-9

    1-8

    而后在主机的triggers中使用此宏

    1-9

  • 相关阅读:
    ado.net(增删改)
    窗体基础WINFORM
    SQL函数类的操作,增加,查询
    SQL数据库,增加查询修改以及防sql写入攻击
    SQL数据库--数据访问
    单列模式
    SQL数据库基础————委托
    SQL数据库基础知识——抽象类
    SQL数据库——静态成员
    面向对象
  • 原文地址:https://www.cnblogs.com/xuliangwei/p/6658834.html
Copyright © 2020-2023  润新知