zoukankan      html  css  js  c++  java
  • ubuntn18 docker zabbix+grafana安装和使用

    ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana 我采用telegraf采集数据, 本文计划采用zabbix来才采集数据,仍然用grafana来展示数据(为了节约资源我把telegraf先停掉)

    sudo systemctl enable --now telegraf #添加到开机启动
    sudo systemctl disable --now telegraf #从开机启动移除
    systemctl status telegraf #查看telegraf状态

    zabbix

    模块介绍

    Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行.

    Zabbix Agent:部署在被监控主机上,负责收集本地数据发往Server端或Proxy端.

    Database Storage:用户存储所有配置信息,以及存储由Zabbix Server收集到的数据.

    Web Interface: Zabbix的GUI接口,通常与Server运行在同一台主机上

    Zabbix Proxy:常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端.

    原理介绍

    Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像.

    当Zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL命令、Reboot、Restart、Install等).

    环境安装

    zabbix需要zabbix-server、zabbix-agent、mysql.
    其中mysql已经在本机安装了,在dockercompose文件中
    写上对应的host、user、pwd即可.

    在mysql中创建zabbix数据库,为了后期储存数据使用.

    使用docker安zabbix装,docker-compose.yaml文件如下:

    version: '2'
    services:
      zabbix-server-service:
        image: monitoringartist/zabbix-xxl:3.2.6
        container_name: zabbix-server-service
        restart: always
        ports:
          - "9999:80"
        environment:
          - ZS_DBHost=192.168.100.3
          - ZS_DBUser=root
          - ZS_DBPassword=root
      zabbix-agent-a:
        image: zabbix/zabbix-agent:ubuntu-3.2.6
        links: 
          - zabbix-server-service:zabbixserverhost
        container_name: zabbix-agent-a
        restart: always
        depends_on:
          - zabbix-server-service
        environment:
          - ZBX_HOSTNAME=zabbix-agent-service-a
          - ZBX_SERVER_HOST=zabbixserverhost
      zabbix-agent-b:
        image: zabbix/zabbix-agent:ubuntu-3.2.6
        links: 
          - zabbix-server-service:zabbixserverhost
        container_name: zabbix-agent-b
        restart: always
        depends_on:
          - zabbix-server-service
        environment:
          - ZBX_HOSTNAME=zabbix-agent-service-b
          - ZBX_SERVER_HOST=zabbixserverhost

    启动命令: docker-compose up -d

     

    查看日志命令: docker logs -f zabbix-server-service

    若果mysql是8.0  zabbix 是3.*的版本可能会有如下错误 syntax to use near 'identified by 'root'':

     

    网上说下载最新版本也是扯淡,建议用mysql5.7 就能解决了

     

    在这个过程中千万不要重启容器 当看到如下图就表示服务已经启动了

     

    大概启动后1到2分钟登录zabbix web地址,http://192.169.100.3:9999,出现如下页面说明安装成功.

     

    默认账号:Admin,密码:zabbix,登录后出现如下页面.

    配置

    修改语言

    默认的语言是英文的,点击头像后展示修改语言选项,选择中文并且更新即可.

     

    zabbix-agent配置

    之前配置两个zabbix-agent-a和zabbix-agent-b,所以要添加两个zabbix-agent来采集数据并发送给zabbix-server.

    在配置,选择主机,创建主机.

     

    配置zabbix-agent需要其容器内的ip地址,可以通过
    docker exec -it zabbix-agent-b ip addr命令查看.

     

    在创建页面填写其ip和选择群组,点击保存即可.

     

    此时添加了两台zabbix-agent.

     

    另外还需要给zabbix-agent配置监控模版,在模版中选择Template OS Linux并且添加即可.(这里要点击添加按钮)

     

    配置模版完成后,在主机列表中ZBX显示绿色说明添加完成.

     

    添加监控数据

    在首页仪表盘上,选择常用的图形.,在创建页面选择zabbix-agent-server-b主机和cpu jumps监控项.

     

    监控数据可以控制缩放比例和时间段.

     

    grafana

    简介

    grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示.

    配置

    安装grafana

    可以使用grafana展示zabbix的数据,制作图表展示.

    使用docker启动grafana.

    docker run -d --name=grafana2 -p 3000:3000 -v /var/lib/grafana:/var/lib/grafana grafana/grafana:3.0.4
    启动镜像完成后,等大概1到2分钟,在浏览器访问:http://192.168.100.3:300  admin默认账号和密码都是.

    安装zabbix插件

    安装zabbix插件,进入grafana容器执行如下命令

    docker exec -it grafana /bin/bash #进入容器
    grafana-cli plugins install alexanderzobnin-zabbix-app
    docker restart grafana #重启容器
    在插件中的app中,出现zabbix说明zabbix插件安装成功.

     

     

    这里需要启动该插件

     

    zabbix数据源
    在Data Sources中新增一个数据源.

    数据源配置:type=Zabbix、url、Zabbix的账号、Zabbix的密码.

    url格式为:http://192.168.100.3:9999/api_jsonrpc.php

     

    然后点击

     

    grafana面板

    在Dashboards中新建一个面板.

    把Panel data source数据源改成zabbix数据源. 可用内存设置面板中参数如下:

    Group=Linux servers (这个参数在zabbix设置过)   

    Host=zabbix-agent-service-a   

     Application=Memory

    Item=Available memory

     

    grafana使用模版

    https://grafana.com/grafana/dashboards中提供很多第三方模版 Servers Linux这个模版

    下载模版的json文件.

     

    配置模版信息.

    我不知道为什么必须要把Zabbix数据源设置为default,不然选择不了)最终在一个面板中展示了当前cpu、内存等,相对原始的数据展示更加直观.

    参考:

    https://testerhome.com/topics/18364

    https://www.lengyuewusheng.com/2018/03/18/00032_influxdb-telegraf-Grafana%E7%9B%91%E6%8E%A7%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E4%B8%8Ezabbix%E7%9B%91%E6%8E%A7%E7%9A%84%E5%AF%B9%E6%AF%94/

  • 相关阅读:
    poj 3528 (三维几何求凸包+凸包表面积)
    dijkstra模板(好像是斐波那契额堆优化,但我为什么看起来像优先队列优化,和spfa一样)
    最大空凸包模板
    ICPC 2017–2018, NEERC, Northern Subregional Contest St Petersburg, November 4, 2017 I题
    hdu 5248 序列变换
    hdu 2063(二分图模板测试)
    组合数
    85. Maximal Rectangle 由1拼出的最大矩形
    750. Number Of Corner Rectangles四周是点的矩形个数
    801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
  • 原文地址:https://www.cnblogs.com/majiang/p/11230417.html
Copyright © 2011-2022 走看看