• Linux-Zabbix3.4详解


    zabbix:
        Version:
            LTS:Long Time Support(下载LTS版本,本例为zabbix3.4)

    zabbix程序组件:
        zabbix_server:服务端守护进程
        zabbix_agent:agent守护进程
        zabbix_proxy:代理服务器,可选(分布式监控)
        zabbix_database:存储系统,Mysql/PGSQL
        zabbix_web:WEB GUI
        zabbix_get:命令行工具,测试向agent端发起数据采集请求
        zabbix_sender:命令行工具,测试向server端发送数据
        zabbix_java_gateway:java网关(JMX Java Management eXtension)

    zabbix逻辑组件:(或者称为zabbix术语)
        主机组(host groups)
        主机(hosts)
        应用(applications)
        监控项(items)
        触发器(triggers)
        事件(events)
        动作(action):条件(conditions)和操作(operations)
        媒介(media):发送通知的通道
        通知(notifications)
        远程命令(remote command)
        报警升级(escalation)
        模板(templates)
        图形(graph)
        屏幕(screens)
        幻灯(slide show)


    zabbix安装配置:
        zabbix server安装配置:
            1.安装mariadb数据库:
                创建zabbix数据库并创建授权用户:
                    CREATE DATABASE zabbix CHARSET 'UTF8';
                    创建本地和远程授权用户:
                        GARANT ALL ON zabbix.* TO 'zbxuser'@'192.168.1.%' identified by 'zbxpass';
                        GRANT ALL ON zabbix.* TO 'zbxuser'@'localhost' IDENTIFIED BY 'zaxpass';
                        FLUSH PRIVILEGES;
            2.安装server端:
                上传对应的软件包到server端,设置本地yum源
                此处安装的zabbix版本为3.4.8-1(注:server端安装agent方便监控本机,未安装zabbix-get)
                yum -y install zabbix-server-mysql zabbix-server-web zabbix-agent
                rpm -ql zabbix-server-mysql #需要用的的文件有下面三个
                    /etc/zabbix/zabbix_server.conf      #配置文件
                    /usr/lib/systemd/system/zabbix-server.service       #服务文件
                    /usr/share/doc/zabbix-server-mysql-3.4.8/create.sql.gz       #数据库脚本,zabbix3.0的脚本只有一个
                导入数据库脚本:
                    解压脚本文件:
                        gzip -d /usr/share/doc/zabbix-server-mysql-3.4.8/create.sql.gz
                    导入脚本文件:
                        mysql -uzbxuser -pzbxpass zabbix < /usr/share/doc/zabbix-server-mysql-3.4.8/create.sql
            3.zabbix server配置启动:
                备份配置文件:
                    cp zabbix_server.conf zabbix_server.conf.bak
                配置段:
                    grep "^######" /etc/zabbix/zabbix_server.conf
                        ############ GENERAL PARAMETERS #################       # 全局(通用)配置
                        ############ ADVANCED PARAMETERS ################       # 高级配置
                        ####### LOADABLE MODULES #######                        # 可装载模块
                        ####### TLS-RELATED PARAMETERS #######                  # ssl加密

                    通用配置项:
                        ListenPort=10051    # 默认端口10051
                        SourceIP=       # 如果服务器只有一个IP不需要设定,若有多个,填写对客户端授权认证的IP
                        LogType=file        # 日志格式
                        LogFile=/var/log/zabbix/zabbix_server.log       # 服务端日志文件位置
                        LogFileSize=0           # 是否一直使用/var/log/zabbix/zabbix_server.log记录日志,0表示一直使用
                        DebugLevel=3        # 日志等级
                        PidFile=/var/run/zabbix/zabbix_server.pid       # zabbix server进程文件
                        DBHost=localhost        # 数据库IP
                        DBName=zabbix           # 数据库名称
                        DBUser=zabbix           # 连接数据库用户
                        DBPassword=             # 密码
                        DBSocket=/tmp/mysql.sock        # 数据库socket文件
                        DBPort=3306             # 数据库端口
                服务启动:
                    查看trousers包的版本是否大于0.3.12,如果不大于,可能无法启动,需要升级trousers
            4.zabbix web配置:
                (1)解决依赖:
                    yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml -y
                (2)安装Web GUI:
                    yum install zabbix-web zabbix-web-mysql -y
                (3)配置php时区参数:
                    vim /etc/httpd/conf.d/zabbix.conf
                        改:php_value date.timezone Europe/Riga
                        为:php_value date.timezone Asia/Shanghai     # 修改时区为亚洲/上海
                (4)启动web服务:
                    systemctl start httpd
                (5)访问zabbix web:
                    http://localhost/zabbix
                    安装完的配置文件:/etc/zabbix/web/zabbix.conf.php
                    登录的管理员:
                        用户名:admin
                        密码:zabbix
                (6)菜单:
                        Monitoring
                        Inventory
                        Reports
                        Configuration
                        Administration
            5.zabbix agent配置:
                (1)安装:
                    yum install zabbix-agent zabbix-sender -y
                    rpm -ql zabbix-agent
                        /etc/zabbix/zabbix_agentd.conf          # 配置文件
                        /usr/lib/systemd/system/zabbix-agent.service        # 服务文件
                (2)配置:
                    grep -i "^#####" /etc/zabbix/zabbix_agentd.conf
                        ############ GENERAL PARAMETERS #################
                        ##### Passive checks related    # 被动模式:即客户端为被动,服务器端为主动
                        ##### Active checks related         # 主动模式,反之
                        ############ ADVANCED PARAMETERS #################
                        ####### USER-DEFINED MONITORED PARAMETERS #######   # 用户自定义的监控参数,UserParameter
                        ####### LOADABLE MODULES #######
                        ####### TLS-RELATED PARAMETERS #######

                        Passive checks related
                            Server=IP1,IP2.....     # 此处的IP为允许进行数据采集请求的SERVER-IP
                            ListenPort=10050
                            ListenIP=0.0.0.0    # 监听所有IP
                            StartAgent=3        # 设置pre-forked(预生成子进程)的数量为3

                        Active checks related
                            ServerActive=IP1,IP2....    # 服务器的IP
                            Hostname=HOST-ID    # 客户端的主机名
                (3)启动服务:
                    systemctl start zabbix-agent.service
    配置监控:
        快速配置一个监控项:
            host groups --> host --> applications --> item --> triggers(events) --> action(conditions,operations)
                operations:remote command(远程命令),alert(报警)
                item --> simple graph       # 一个监控项默认有一个简单图形
                items --> graph     # 多个监控项可以放在一个图像当中
                graphs --> screen       # 多个图像可以组成一个屏幕
                screens --> slide show      # 多个屏幕又可以组成一个幻灯

            item key:简单来说就是server端向agent端发送查询请求所执行的唯一命令
                key与之对应的唯一命令      
        item(监控项):
            作用:仅负责收集数据
            分为两类:
                    zabbix内建:
                    用户自定义(UserParameter):
            采集到的数据:
                数值:
                    整数,浮点数
                字符型:
                    字符串,text,log
        trigger(触发器):
            作用:用于为监控项所收集的数据定义阈值,由表达式构成
            if item > 阈值 则为TRUE即PROBLEM,反之则为FALSE即OK
            基本触发器的表达格式如下:
                {<server>:<key>.<function>(parameter)}<operation><constant>
                server: 主机名称
                  key:  即item key,主机上关系的响应监控项的key
                function: 评估采集到的数据是否在合理的区间内所使用的函数,可支持avg,count,max,change,date,delta,diff,last,min,sum,now等
                parameter: 函数参数,多数函数可接受秒作为参数,如果在参数前面加上了#则表示为最近几次的取值:
                           例如:sum(10)表示10秒之内所有取值之和,而sum(#10)则表示最近十次的取值之和
                           此外,avg,count,last,max和min还支持使用第二个参数用于时间限定
                           例如:max(1h,7d)将返回一周前的最大值
                operation: 运算符有/,*,-,+,<,>,#(不相等),=,&(逻辑与),|(逻辑或)
                constant: 常量,即阈值
            触发器间的依赖关系:
                主机依赖于网络设备
                服务依赖于主机
            注意:一个trigger仅能关联一个item,但是可以为一个item使用多个trigger以实现不同级别的报警即报警升级
        Media Types(媒介类型):
            定义:报警信息的传递方式
            类型:
                Email:邮件,需要定义发件人邮箱地址和SMTP服务器
                Script:自定义脚本,此脚本有发送信息至相关用户的功能
                SMS,jabber...:只有北美才能使用,一般不用
        Action(动作):
            condition:触发次动作的条件,一般是通过"事件触发"
            operation:触发条件满足时需要采取的动作
                send message:
                    功能:发送报警信息给关联的用户
                    信道:
                        邮件
                        脚本
                remote command:
                    功能:在agent所在的主机上运行用户指定的命令或者脚本来尝试恢复故障
                          例如:
                                重启服务或者运行由用户自定义的脚本
                    类型:
                        IPMI,Custom Script,SSH,TELNEL,Global Script
                        Custom Script实现的前提:
                            在agent端配置:
                                (1)zabbix拥有执行相应脚本的权限
                                    编辑/etc/sudoers文件,添加:
                                        zabbix ALL=(ALL) NOPASSWD:ALL
                                        注释如下行:
                                            Defaults requiretty
                                (2)agent进程要允许执行远程命令,编辑/etc/zabbix/zabbix_agentd.conf文件,设置:
                                    EnableRemoteCommands=1
                                (3)重启服务生效:
                                    systemctl restart zabbix-agent.service
        MACRO(宏):
            定义:预设的文本替换模式
            级别:
                全局宏:Administration --> General --> Macros
                模板宏:Configuration --> Templates --> TEMPLATE --> Macros
                主机宏:Configuration --> Hosts --> Host --> Macros
            类型:
                内建:{MACRO_NAME}
                自定义:{$MACRO_NAME}
                命名方式:大写字母,数字和下划线
        网络发现(Network Discovery):
            定义:zabbix server扫描指定网络范围内的主机
            发现方式:
                IP地址范围
                可用服务探测(ssh,ftp,http.....)
                zabbix_agentd响应对某个key的请求
                snmp_agent响应
            一旦发现某主机,就会产生发现事件:
                事件一共有8类:
                    Host,Service
                    Up/Down,Discovered/Lost
            发现操作分两步:
                discover:
                actions:add host,link to template.....

              未完待续..............

  • 相关阅读:
    javamail发送邮件
    java复制文件夹中的所有文件和文件夹到另一个文件夹中
    jsp中使用out和response.getOutputStream的方法
    PHP数组用法
    PHP中的session
    java中list按照某个属性排序方法
    java读取xml文件内容
    C#实现验证码
    java实现验证码功能
    Java IO(四)------字节输入输出流
  • 原文地址:https://www.cnblogs.com/Vampire-MIn/p/13157507.html
Copyright © 2020-2023  润新知