在本教程中,我们将通过导入现有社区仪表板以及其他自定义项,使用Grafana监视Elasticsearch集群。
安装Grafana
在Mac OS上安装
我们可以按照链接https://grafana.com/docs/grafana/latest/installation/mac/来安装Grafana。简单地说:
brew update
brew install grafana
brew services start grafana
这样我们启动了我们的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
等启动完机器后,我们按照如下的指令来安装:
sudo wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
确保您的GPG密钥已正确添加到密钥库中。
$ sudo apt-key list
pub rsa2048 2017-01-24 [SC]
4E40 DDF6 D76E 284A 4A67 80E4 8C8C 34C5 2409 8CB6
uid [unknown] Grafana <[email protected]>
sub rsa2048 2017-01-24 [E]
现在您已链接到Grafana存储库,鉴于存储库已更新,因此可以轻松安装它。
sudo apt-get update
sudo apt-get install grafana
启动 grafana 服务:
sudo systemctl daemon-reload && sudo systemctl start grafana-server && sudo systemctl status grafana-server
启用systemd服务,以便Grafana在启动时启动。
udo systemctl enable grafana-server.service
安装完后,我们可以在浏览器的链接地址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"
为了说明问题的方便,我把两个Elasticsearch的地址都设置为http://localhost:9200,也就是说从http://localhost:9200采集数据并把数据存于到http://localhost:9200的索引中。同时,在我的Elasticsearch中,我启动了Basic安全。我的用户名及密码分别是elastic/123456。
输入正确的集群信息后,在监视集群上执行脚本:
python2 elasticsearch2elastic.py
请注意我们的python脚本是用python 2来写的。我们必须使用python2来运行我们的python脚本。
这个时候,我们可以在我们的Kibana中查看到生产的elasticsearch_metrics索引
在Grafana中创建Elasticsearch数据源:
我们需要把上面的信息填入并保存:
返回Grafana,单击“Home”>“Import Dashboard.”。 在“Grafana.com Dashboard”输入框中输入“878”,然后点击加载。 从而为我们的监控提供了一个快速的开始。
输入878
我们打开Dashboad,我们可以看到:
其它的就留给开发者们自己探讨吧。