kibana使用metricbeat性能监控
http://www.voidcn.com/article/p-wiipzvle-bza.html
安装下载
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install metricbeat
配置启动
cat /etc/metricbeat/metricbeat.yml |grep -vE "^#|^$"
metricbeat.config.modules:
# Glob pattern for configuration loading
path: ${path.config}/modules.d/*.yml
# Set to true to enable config reloading
reload.enabled: false
# Period on which files under path should be checked for changes
#reload.period: 10s
setup.template.settings:
index.number_of_shards: 1
index.codec: best_compression
#_source.enabled: false
setup.kibana:
# Kibana Host
# Scheme and port can be left out and will be set to the default (http and 5601)
# In case you specify and additional path, the scheme is required: http://localhost:5601/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
host: "192.168.1.43:5601"
# Kibana Space ID
# ID of the Kibana Space into which the dashboards should be loaded. By default,
# the Default Space will be used.
#space.id:
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["192.168.1.43:9200"]
# Enabled ilm (beta) to use index lifecycle management instead daily indices.
#ilm.enabled: false
# Optional protocol and basic auth credentials.
#protocol: "https"
#username: "elastic"
#password: "changeme"
# The Logstash hosts
#hosts: ["localhost:5044"]
# Optional SSL. By default is off.
# List of root certificates for HTTPS server verifications
#ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
# Certificate for SSL client authentication
#ssl.certificate: "/etc/pki/client/cert.pem"
# Client Certificate Key
#ssl.key: "/etc/pki/client/cert.key"
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
启动和启动
update-rc.d metricbeat defaults 95 10
/etc/init.d/metricbeat restart #重新启动
metricbeat setup --dashboards #启动dashboards
查看kibana的dashboards
启动监控服务模块(nginx,redis,mysql)
metricbeat modules enable redis
metricbeat modules enable mysql
metricbeat modules enable nginx
查看服务性能监控
查看启动模块
metricbeat modules list
#Enabled模块为启用模块 Disabled模块为未启用模块
.
启动新模块
启用新模块命令,例如启用nginx模块
metricbeat modules enable nginx
设置监控nginx
[email protected]:/etc/metricbeat/modules.d# cat nginx.yml
# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/6.8/metricbeat-module-nginx.html
- module: nginx
metricsets:
- stubstatus
enabled: true
period: 10s
# Nginx hosts
hosts: ["http://127.0.0.1"]
# Path to server status. Default server-status
server_status_path: "nginx_status"
#username: "user"
#password: "secret"
nginx设置
server {
server_name _;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
设置监控mysql
[email protected]:/etc/metricbeat/modules.d# cat mysql.yml
# Module: mysql
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/6.8/metricbeat-module-mysql.html
- module: mysql
metricsets:
- status
# - galera_status
period: 10s
# Host DSN should be defined as "user:[email protected](127.0.0.1:3306)/"
# The username and password can either be set in the DSN or using the username
# and password config options. Those specified in the DSN take precedence.
hosts: ["tcp(192.168.1.39:3306)/"]
# Username of hosts. Empty by default.
username: root
# Password of hosts. Empty by default.
password: 123456
#- module: 45-mysql
# metricsets:
# - status
# period: 10s
# hosts: ["tcp(192.168.1.45:3306)/"]
# username: ops
# password: ops12300.
设置监控redis
- module: redis
hosts: ["192.168.1.43:6379"]
metricsets: ["info","keyspace"]
enables: true
period: 10s
password: password