美文网首页
zabbix基础

zabbix基础

作者: UncleZ_strive | 来源:发表于2019-11-26 10:41 被阅读0次
    1.什么是监控

    监视,控制

    2.系统为什么要做监控:

    监控是整个运维乃至整个产品生命周期中最重要的一环.
    事前及时预警发现故障,事后提供详实的数据用于追查定位问题。

    3.监控怎么做,比如我要监控内存的使用率,低于百分之20则报警

    1.提取内存的指标
    2.判断比对 ,与管理人员设定的阈值
    3.大于百分之20, 则忽略
    4.小于百分之20, 则触发警告

    4.监控有哪些工具来辅助实现

    cacti 用于监控网络设备 交换机 路由器 防火墙 流量为主
    Nagios 用于监控系统
    Zabbix 用于监控系统 web界面 分布式 报警 自带模板
    open-falcon 小米公司
    Prometheus+grafana

    5.去到一家新公司如何着手监控

    1.硬件监控 ( 交换机 路由器 防火墙 服务器 ) DELL IRDAC ipmi
    2.系统监控 ( CPu 内存 磁盘 IO )
    3.服务监控 ( nginx php mysql tomcat ....... )
    4.日志监控 ( ELK 架构 )
    5.web监控 ( 请求延时 响应延时 加载时间 ..... pv uv ip )
    6.业务监控 新增用户 流量 购买量
    7.分布式监控 多机房监控 proxy
    8.自动化监控 自动的添加主机进行监控


    6.单机时代如何监控

    1.命令监控
    监控:
    cpu: top htop
    内存: free -m 大量消耗内存会占用swap,如果没有swap 则会触发oom
    磁盘: df -h 空间 iotop
    网络: ifconfig route iftop nethogs nethogs -v 3
    glances

    2.shell脚本 + crond 定时任务 (监控当前系统用户登录的数量 超过4 则报警)

    for ip in {7..9}
    do
        users=$(ssh root@172.16.1.$ip "who|wc -l")
        
        if [ $user -ge 3 ];then
            echo "报警通知  172.16.1.$ip"
        fi
    done
    

    7.引入zabbix监控(安装zabbix4.0 )

    1.配置yum仓库
    rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

    2.安装zabbix相关功能组件
    yum install zabbix-server-mysql zabbix-web-mysql httpd mariadb-server -y

    3.创建数据库
    # systemctl start mariadb
    # systemctl enable mariadb
    # mysql -uroot -e "create database zabbix character set utf8 collate utf8_bin;"
    # mysql -uroot -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"

    4.导入数据至数据库中
    # zcat /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz | mysql -uroot zabbix

    5.配置zabbix-server指向数据库

    [root@zabbix-server ~]# grep '^D' /etc/zabbix/zabbix_server.conf 
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix
    

    6.启动 Zabbix server 进程
    # systemctl start zabbix-server
    # systemctl enable zabbix-server

    7.配置Zabbix 前端 web页面

    [root@manager zabbix]# vim /etc/httpd/conf.d/zabbix.conf。
        .....
        php_value date.timezone Asia/Shanghai
        ....
    [root@manager zabbix]# systemctl restart httpd
    

    8.通过url访问zabbix-server
    1.根据提示填写信息即可
    2.默认的用户名和密码是
    username: Admin
    password: zabbix

    9.登录zabbix后
    1.修改密码
    2.将zabbix修改为中文

    10.如何快速的监控一台主机
    1.需要安装zabbix-agent
    2.agent版本与server有要求?
    平级
    低于
    3.安装zabbix-agent (没有依赖)
    rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.14-1.el7.x86_64.rpm

    4.配置zabbix-agent,允许172.16.1.71 能够采集172.16.1.7本地的数据

        [root@web01 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf
        PidFile=/var/run/zabbix/zabbix_agentd.pid
        LogFile=/var/log/zabbix/zabbix_agentd.log
        LogFileSize=0
        Server=172.16.1.71
        Include=/etc/zabbix/zabbix_agentd.d/*.conf
    

    5.启动zabbix-agent
    # systemctl enable zabbix-agent
    # systemctl start zabbix-agent
    # systemctl restart zabbix-agent

    6.登录zabbix-server web界面
    1.配置-->主机-->添加主机
    2.模板-->关联-->Template Linux OS

    11.zabbix中文乱码
    # rpm -ql zabbix-web | grep fonts /usr/share/zabbix/assets/fonts
    找一个字体文件将DejaVuSans.ttf替换
    # mv /usr/share/fonts/dejavu/DejaVuSans.ttf DejaVuSans_bak.ttf
    # mv /usr/share/fonts/dejavu/msyh.ttf DejaVuSans.tt

    12.zabbixserver如何监控自己本身
    在server端下载agent端安装配置
    rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.14-1.el7.x86_64.rpm
    systemctl start zabbix-agent

    13.zabbix基础架构
    zabbix基础架构

    image.png

    zabbix内部资源

    image.png

    14.zabbix架构拆分
    LAMP架构
    LAP+MySQL
    172.16.1.71 zabbix-server zabbix-web
    172.16.1.51 数据库

    1.安装数据库
    yum install mariadb-server -y
    systemctl start mariadb
    2.创建zabbix库,配置远程授权用户
    create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';

    3.在172.16.1.71上进行数据库导出至mysql服务器
    [root@zabbix-server ~]# mysqldump -B zabbix >zabbix.sql
    [root@zabbix-server ~]# cat zabbix.sql | mysql -h 172.16.1.51 -uzabbix -pzabbix zabbix

    4.修改zabbix-server配置的指向

    [root@zabbix-server ~]# cat /etc/zabbix/zabbix_server.conf
    #DBHost=localhost
    DBHost=172.16.1.51
    
    [root@zabbix-server ~]# systemctl restart zabbix-server
    

    5.修改zabbix-web配置的指向

    [root@zabbix-server ~]# vim /etc/zabbix/web/zabbix.conf.php
    $DB['SERVER']   = '172.16.1.51';
    
    [root@zabbix-server ~]# systemctl restart httpd
    

    15.如何快速监控一个自定义对象,比如监控当前用户登录数量
    Format: UserParameter=<key>,<shell command>

    1.使用shell命令提取当前用户登录的数量   who|wc -l
    2.使用zabbix-agent将shell命令提取的结果封装一个监控项    UserParameter
    3.zabbix-agent自己检查该监控项是否能正确提取到对应的值   zabbix_agent -p
    4.zabbix-server通过zabbix-get检查zabbix-agent端自定义的监控项是否正常   zabbix_get -s 172.16.1.7 -k user_login
    5.登录zabbix-web页面, 找到对应的主机, 然后添加对应的监控项.
    6.点击检测中--->最新数据--->选择主机--->选择应用级-->检查监控项指标的变化
    
    # vim /etc/zabbix/zabbix_agentd.d/all.conf 
    UserParameter=user_login,who|wc -l
    
    # systemctl restart zabbix-agent
    
    rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.14-1.el7.x86_64.rpm
    

    16.如何快速设定一个自定义阈值,比如超过4个人登录则触发报警
    1.基于已创建好的监控项设定阈值
    2.如果达标则触发
    3.如果不达标,继续探测,监视

    17.前端展示报警:
    1.点击右上角小人头-->正在发送消息-->勾选前端信息中

    相关文章

      网友评论

          本文标题:zabbix基础

          本文链接:https://www.haomeiwen.com/subject/xpgdwctx.html