• Elastic:使用 Grafana 监视 Elasticsearch


    在本教程中,我们将通过导入现有社区仪表板以及其他自定义项,使用 Grafana 监视 Elasticsearch 集群。

    安装 Grafana

    在 Mac OS 上安装

    我们可以按照链接Install on macOS | Grafana Labs来安装 Grafana。简单地说:

    brew update
    brew install grafana
    
    brew services start grafana
    
    • 1
    • 2
    • 3
    • 4

    这样我们启动了我们的 Grafana。我们可以在http://localhost:3000里查看 Grafana,并以用户名及密码 admin/admin 进行登录。

    在 Ubuntu OS 上安装

    我们可以参照链接https://devconnected.com/how-to-install-grafana-on-ubuntu-18-04/来安装我们的 Grafana。简单地说

    sudo apt-get update
    sudo apt-get upgrade
    sudo reboot
    
    • 1
    • 2
    • 3

    等启动完机器后,我们按照如下的指令来安装:

    sudo wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
    
    • 1

    确保您的 GPG 密钥已正确添加到密钥库中。

    $ sudo apt-key list
    pub   rsa2048 2017-01-24 [SC]
          4E40 DDF6 D76E 284A 4A67  80E4 8C8C 34C5 2409 8CB6
    uid           [unknown] Grafana 
    sub   rsa2048 2017-01-24 [E]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    现在您已链接到 Grafana 存储库,鉴于存储库已更新,因此可以轻松安装它。

    sudo apt-get update
    sudo apt-get install grafana
    
    • 1
    • 2

    启动 Grafana 服务:

    sudo systemctl daemon-reload && sudo systemctl start grafana-server && sudo systemctl status grafana-server
    
    • 1

    启用 systemd 服务,以便 Grafana 在启动时启动。

    sudo systemctl enable grafana-server.service
    
    • 1

    安装完后,我们可以在浏览器的链接地址http://localhost:3000查看,并以用户名及密码 admin/admin 进行登录。

    等我们的 Grafana 启动后,我们可以看到如下的画面。

    装载 Elasticsearch 指标

    我们使用一个 python 的脚本来收集被监视的 Elasticsearch 的指标数据,并把这些指标数据存于到一个 Elasticsearch 的索引中去。

    下载此 python脚本并编辑集群 URL,以反映您要监视的 ES 集群(“ES_METRICS_CLUSTER_UR”)和将存储指标的 ES 集群(“ES_METRICS_MONITORING_CLUSTER_URL”)。

    针对我的情况,我使用了本地的 Elasticsearch,所以我使用了如下的配置:

    elasticServer = os.environ.get('ES_METRICS_CLUSTER_URL', 'http://localhost:9200')
    interval = int(os.environ.get('ES_METRICS_INTERVAL', '60'))
    
    # ElasticSearch Cluster to Send Metrics
    elasticIndex = os.environ.get('ES_METRICS_INDEX_NAME', 'elasticsearch_metrics')
    elasticMonitoringCluster = os.environ.get('ES_METRICS_MONITORING_CLUSTER_URL', 'http://localhost:9200')
    
    # Enable Elasticsearch Security
    # read_username and read_password for read ES cluster information
    # write_username and write_passowrd for write monitor metric to ES.
    read_es_security_enable = True
    read_username = "elastic"
    read_password = "123456"
    
    write_es_security_enable = True
    write_username = "elastic"
    write_password = "123456"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    为了说明问题的方便,我把两个 Elasticsearch 的地址都设置为 http://localhost:9200,也就是说从 http://localhost:9200 采集数据并把数据存于到 http://localhost:9200 的索引中。同时,在我的 Elasticsearch 中,我启动了Basic 安全。我的用户名及密码分别是 elastic/123456。

    输入正确的集群信息后,在监视集群上执行脚本:

    python2 elasticsearch2elastic.py 
    
    • 1

    请注意我们的 python 脚本是用 python2 来写的。我们必须使用 python2 来运行我们的 python 脚本。

    这个时候,我们可以在我们的 Kibana 中查看到生成的 elasticsearch_metrics 索引

    在 Grafana 中创建 Elasticsearch 数据源:

    我们需要把上面的信息填入并保存:

    返回 Grafana,单击 “Home”>“Import Dashboard.”。 在 “Grafana.com Dashboard” 输入框中输入 “878”,然后点击加载。 从而为我们的监控提供了一个快速的开始。

    输入878

    我们打开 Dashboad,我们可以看到:

    其它的就留给开发者们自己探讨吧。

  • 相关阅读:
    Redis基础知识:redis有16个数据库、redis是单线程的!
    Vue3搭载后端服务器开发文档
    常见漏洞危害总结
    打印矩阵问题
    Nginx-负载均衡与动静分离
    优化理论20---插值法: Newton插值、差商、差分
    饿了么三面:让你怀疑人生的Spring Boot夺命连环40问
    使用 WPF + Chrome 内核实现高稳定性的在线客服系统复合应用程序
    博客摘录「 dubbo默认超时设置容易引发的问题(默认1秒)」2023年9月23日
    C语言文件操作
  • 原文地址:https://blog.csdn.net/m0_67402341/article/details/126363360