centos7使用Elasticsearch收集日志和指标
一、安装jdk1.8(已安装)
java -version
二、下载二进制安装包
官网:ES下载地址
Wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-linux-x86_64.tar.gz
在其他节点重复执行
三、解压到相关目录,创建目录链接
tar -zvxf elasticsearch-7.0.1-linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/elasticsearch-7.0.1/ /usr/local/elasticsearch
四、创建elasticsearch相关的组和用户
groupadd elk
useradd elk -g elk
五、创建elasticsearch相关的目录,并修改相关文件的权限
mkdir -p /opt/data/elasticsearch/{data,logs}
chown -R elk:elk /usr/local/elasticsearch-7.0.1/
chown -R elk:elk /opt/data/elasticsearch/
六、修改配置文件,注意!!!
(1)cluster.name,集群名,同一集群保持一致
(2)node.name,节点名,集群下,节点名唯一,不能重复
(3)path.data: /opt/data/elasticsearch/data,数据目录
(4)path.logs: /opt/data/elasticsearch/logs,日志目录
(5)network.host:监听的IP地址
(6)http.port:监听的端口
(7)discovery.seed_hosts:集群初始化发现的节点通讯地址
(8)cluster.initial_master_nodes: 集群初始化发现的节点
七、启动elasticsearch
su elk
cd /usr/local/elasticsearch
bin/elasticsearch -d
八、elasticsearch错误收集
(1)max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是说你的进程不够用了
解决方案:
切到root 用户,执行命令vim /etc/security/limits.conf
在文件的末尾添加下面的参数值:
- soft nofile 65536
- hard nofile 131072
- soft nproc 2048
- hard nproc 4096
前面的*符号必须带上,然后重新启动就可以了。执行完成后可以使用命令 ulimit -n 查看进程数
ulimit -n
65536
(2)max virtual memory areas vm.max_map_count [65530]is too low, increase to at least [262144],需要修改系统变量的最大值了
解决方案:
vi /etc/sysctl.conf
#修改配置sysctl.conf增加配置值
vm.max_map_count=655360
执行命令 sysctl -p,然后重新启动ES服务
(3)org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
解决方案:
切换elk用户命令:su - elk
(4)Centos7不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决方案:
vi /usr/local/elasticsearch/config/elasticsearch.yml
#在elasticsearch.yml中新增配置bootstrap.system_call_filter,设为false。
bootstrap.system_call_filter: false
九、elasticsearch测试访问
(1)curl -X GET “10.0.1.87:9200/_cluster/health?pretty”
(2)浏览器访问:10.0.1.87:9200
十、安装kibana
(1)下载kibana对应版本的安装包
Wget https://artifacts.elastic.co/downloads/kibana/kibana-7.0.1-linux-x86_64.tar.gz
(2)解压安装包到指定目录
tar -zvxf kibana-7.0.1-linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/kibana-7.0.1-linux-x86_64/ /usr/local/kibana
(3)kibana配置文件
cd /usr/local/kibana/config/
server.port: 5601
server.host: “10.0.1.87”
elasticsearch.hosts: [“http://10.0.1.87:9200”,“http://10.0.1.88:9200”,“http://10.0.1.89:9200”]
#elasticsearch.username: “user”
#elasticsearch.password: “pass”
(4)启动kibana
/usr/local/kibana/bin/kibana &
(5)测试
ss -antlup | grep 5601
十一、日志和指标收集
(1)系统日志和指标
(2)Apache日志和指标
(3)Nginx日志和指标
(4)ES日志和指标
(5)IIS日志和指标
(6)Kafka日志和指标
(7)Logstash日志和指标
(8)Mysql日志和指标
(9)postgreSQL日志和指标
(10)Redis日志和指标
(11)SQLServer、MongoDB指标
十二、Filebeat日志收集(Elasticsearch logs)
参考文档:
Filebeat日志
(1)下载并安装 Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.0.1-x86_64.rpm
sudo rpm -vi filebeat-7.0.1-x86_64.rpm
(2)编辑配置
output.elasticsearch:
hosts: ["<es_url>"]
username: “elastic”
password: “”
setup.kibana:
host: “<kibana_url>”
其中, 是 elastic 用户的密码,<es_url> 是 Elasticsearch 的 URL,<kibana_url> 是 Kibana 的 URL。
(3)启用和配置 elasticsearch 模块
sudo filebeat modules enable elasticsearch
(4)修改elasticsearch配置文件
Vi /etc/filebeat/modules.d/elasticsearch.yml
link
修改日志路径
(5)启动 Filebeat
sudo filebeat setup
sudo service filebeat start
(6)模块状态
Kibana查看数据
十三、Metricbeat 指标收集
(1)下载并安装 Metricbeat
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.0.1-x86_64.rpm
sudo rpm -vi metricbeat-7.0.1-x86_64.rpm
(2)编辑配置
修改 /etc/metricbeat/metricbeat.yml 以设置连接信息:
output.elasticsearch:
hosts: ["<es_url>"]
username: “elastic”
password: “”
setup.kibana:
host: “<kibana_url>”
其中, 是 elastic 用户的密码,<es_url> 是 Elasticsearch 的 URL,<kibana_url> 是 Kibana 的 URL。
(3)启用和配置 kafka 模块
sudo metricbeat modules enable kafka
在 /etc/metricbeat/modules.d/kafka.yml 文件中修改设置。
link
(4)启动 Metricbeat
sudo metricbeat setup
sudo service metricbeat start
(5)模块状态
确认从 Metricbeat kafka 模块收到数据