Install and download
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
Configuration start
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 (ht tp 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"]< br /> # Optional SSL. By default is off.
# List of root certificates for HTTPS server verifications
#ssl.cert ificate_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: ~ pre>Start and start
update-rc.d metricbeat defaults 95 10
/etc/init.d/metricbeat restart #Restart
metricbeat setup --dashboards # Start dashboardsView kibana dashboards
Start monitoring service modules (nginx, redis, mysql)
metricbeat modules enable redis
metricbeat modules enable mysql
metricbeat modules enable nginxView service performance monitoring
View the startup module
metricbeat modules list
#Enabled module is enabled module Disabled module is disabled module< h6>.
Start New module
Enable new module commands, such as enable nginx module
metricbeat modules enable nginxSet monitoring nginx
[emailprotected]:/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 settings
server {
server_name _;
location /nginx_status {
stub_status on;
access_lo g off;
allow 127.0.0.1;
deny all;
}
}Set up monitoring 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
# metricse ts:
#-status
# period: 10s
# hosts: ["tcp(192.168.1.45:3306)/"]
# username: ops
# password: ops12300.Setting up monitoring redis
- module: redis
hosts: ["192.168.1.43:6379"]
metricsets: ["info","keyspace"]
enables: true
period: 10s
password: password