笔记--zabbix

        zabbix-api:
            https://www.zabbix.com/documentation/3.4/zh/manual/api/reference

        安装,
            zabbix-server-mysql.service
            yum install -y zabbix40-server-mysql.x86_64
            mysql:
                创建数据库,授权,
                    mysql> create database zabbix default charset utf8 collate utf8_bin;
                    mysql> grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbix';
                    mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
                    mysql> flush privileges;
                zabbix库导入,
                    shell> mysql -u<username> -p<password> -h<host> zabbix < database/mysql/schema.sql
                    # stop here if you are creating database for Zabbix proxy
                    shell> mysql -u<username> -p<password> -h<host> zabbix < database/mysql/images.sql
                    shell> mysql -u<username> -p<password> -h<host> zabbix < database/mysql/data.sql
            配置,
                vim /etc/zabbix_server.conf
                    ListenPort=10051
                    DBName=
                    DBUser=
                    DBPassword=
                    DBport=
            web:
                yum install -y zabbix40-web zabbix40-web-mysql
                vim /etc/httpd/conf.d/zabbix.conf
                    Alias /zabbix /usr/share/zabbix (默认路径)
                    php_value date.timezone Asia/Shanghai
            -------------------------            
            注意:
                1,/etc/zabbix/web/zabbix.conf.php
                2,修改zabbix_server.conf或zabbix_proxy.conf中的缓存大小:
                    CacheSize=2G
            乱码:
                字体文件目录:
                zabbix 4.2 /usr/share/zabbix/assets/fonts/
                4.0 /usr/share/zabbix/fonts/

                php 脚本文件位置:
                /usr/share/zabbix/include/defines.inc.php

                两种解决方法:
                第一种 先上传一个中文字体,然后把 字体目录下的graphfont.ttf替换成你上传的中文字体.

                zabbix 4.2 上传到这里 /usr/share/zabbix/assets/fonts/
                zabbix 4.0 上传到这里 /usr/share/zabbix/fonts/
                cp 你上传的字体名称 graphfont.ttf

                第二种就是 改php脚本文件.

                vim /usr/share/zabbix/include/defines.inc.php
                        
        页面操作:

            添加主机:
                主机名称要和agent配置中的相同:
                    Hostname=Zabbix server
                server的listenport要和客户端的ServerActive端口相同:
                    ListenPort=6666 ServerActive=x.x.x.x:6666
                angent的ListenPort要和添加主机时的端口相同

            复制监控项/触发器:
                配置-->主机-->勾选监控项/触发器-->复制-->选择主机群组或主机
            
            自动发现:
                配置-->自动发现规则
                配置-->动作-->事件源选择自动发现-->创建动作:
                    动作-->新的触发条件-->自动发现规则
                    操作-->与模板关联-->选择模板
        
            模板
                配置-->模板-->导入-->选择文件
                注意:如果导入错误,提示群组已存在,需修改模板,如:
                    <group>Template</group> 
                    修改为 
                    <group>Template_Oracle</group>
                    
            api监控
                配置-->主机-->选择主机-->创建web场景:
                    场景/认证 略
                    步骤:添加url 请求参数等
                
        测试:
            zabbix_get -s 172.17.2.11  -p 6052  -k vfs.fs.size[/,free]
            zabbix_get -s 172.17.16.116  -p 6052  -k service.count[cscloud]
            
        自定义监控项:
            # cat /etc/zabbix_agentd.conf
            PidFile=/run/zabbix/zabbix_agentd.pid
            LogFile=/var/log/zabbix/zabbix_agentd.log
            LogFileSize=0
            Server=172.17.16.113,172.17.16.116
            ServerActive=172.17.16.113,172.17.16.116
            ListenPort=6066
            Hostname=172.17.16.116
            UnsafeUserParameters=1
            UserParameter=service.count[*],/data01/scripts/count_zk_service.py $1
            UserParameter=get_all_service,/data01/scripts/get_all_services.py
            UserParameter=redis_mem_count[*],/data01/scripts/redis_mem_count.sh $1 $2
            UserParameter=redis_client_count[*],/data01/scripts/redis_client_count.sh $1 $2
            redis_mem_count.sh:
                #!/bin/bash
                mem_count=`redis-cli -h $1 -p $2 -a 'password' info 2>/dev/null|grep '^used_memory:'|awk -F: '{print $2}'|tr -d '\r'`
                echo "${mem_count}/1024/1024"|bc
            redis_client_count.sh:
                #!/bin/bash
                redis-cli -h $1 -p $2 -a 'password' info 2>/dev/null|grep '^connected_clients:'|awk -F: '{print $2}'|tr -d '\r'

        报错
            错误:zbx_mem_realloc(): please increase CacheSize configuration parameter
            解决方案: 
                vim zabbix_server.conf:
                    CacheSize=1024M #默认为8M
                
            错误:cannot initialize configuration cache: cannot get private shared memory of size 8589934592 for configuration cache: [22] Invalid argument
            解决:
                vim /etc/sysctl.conf
                    kernel.shmmax = 9589934592
                sysctl -p
                
        ---监控postgres---
            agent:
                1 被监控端安装插件:
                    ansible postgres -m copy -a 'src=zabbix/libzbxpgsql-1.1.0-1.el7.x86_64.rpm dest=/root'
                    ansible postgres -m yum -a 'name=postgresql-libs state=present'
                    ansible postgres -m shell -a 'zabbix_agentd -t pg.modver'
                2 分发配置文件并重启
                    ansible-playbook zabbix.yml -e 'host=postgres'
                    --zabbix.yml:
                        ---
                        - hosts: "{ {host}}"
                          tasks:
                          - name: install agent
                            yum: name=zabbix-agent.x86_64 state=present
                            ignore_errors: yes
                          - name: copy zabbix_agentd.conf
                            copy: src=zabbix_agentd.conf dest=/etc/zabbix/
                          - name: set hostname
                            shell: echo "Hostname={ { ansible_default_ipv4.address }}" >>/etc/zabbix/zabbix_agentd.conf
                          - name: restart zabbix-agent
                            service: name=zabbix-agent state=restarted
            server:
                1 导入模板:Template App PostgreSQL(不要另存为)
                2 配置连接:主机--》宏:
                    {$PG_CONN}    host=l27.0.0.1 port=5432 user=monitoring password=123456 connect_timeout=10
                    {$PG_DB}    sync
                
        ----监控mysql-----
            服务端测试:zabbix_get -s 172.17.1.5  -p 6004  -k mysql.status[Uptime]

            agent端:
            1 mysql授权:
                MariaDB [(none)]> GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
                # usage “无权限”,其实就是让你这个用户可以像个用户似的登录,但是除了能看到有那写数据库外,什么权限也没有;SHOW GRANTS可以查看
                MariaDB [(none)]> FLUSH PRIVILEGES;
            2 vim /etc/zabbix/.my.cnf
                [client]
                host=172.17.1.5
                user=zabbix
                password=zabbix

            3 sed -i.bak 's@/var/lib/zabbix@/etc/zabbix@g' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf    

        ----利用Orabbix监控Oracle----
            1 安装orabbix(插件安装在zabbix-server端)
                unzip orabbix-1.2.3.zip -d orabbix
                cp config.props.sample config.props
                vim config.props
                    ZabbixServerList=ZabbixServer1
                    ZabbixServer1.Address=${zabbixserver_ip}
                    ZabbixServer1.Port=6666
                    OrabbixDaemon.PidFile=./logs/orabbix.pid
                    OrabbixDaemon.Sleep=300
                    OrabbixDaemon.MaxThreadNumber=100
                    DatabaseList=DB1
                    DatabaseList.MaxActive=10
                    DatabaseList.MaxWait=100
                    DatabaseList.MaxIdle=1
                    DB1.Url=jdbc:oracle:thin:@${ip}:${port}:${sid}
                    DB1.User=${username}
                    DB1.Password=${password}
                    DB1.MaxActive=10
                    DB1.MaxWait=100
                    DB1.MaxIdle=1
                    DB1.QueryListFile=./conf/query.props
            2  导入模板/opt/orabbix/template/Orabbix_export_full.xml
                        <group>Template</group> 
                        修改为 
                        <group>Template_Oracle</group>
            3    oracle机器:
                安装agent
            4    添加主机、关联模板

猜你喜欢

转载自blog.csdn.net/weixin_42573277/article/details/114825052