节点发现
discovery.seed_hosts: [“192.168.220.21”, “192.168.220.22”, “192.168.220.23”]
集群初始化时master节点
cluster.initial_master_nodes: [“elasticsearch-1”, “elasticsearch-2”, “elasticsearch-3”]
启用节点上ES的XPACK安全功能,相当于总开关
xpack.security.enabled: true
传输层的认证设置
xpack.security.transport.ssl:
enabled: true
verification_mode: none
keystore.path: certs/elastic-certificates.p12
truststore.path: certs/elastic-certificates.p12
(9) elasticsearch jvm参数配置
按照虚机分配的内存配置-Xms和-Xmx,本文中虚机内存为2G,设置-Xms和-Xmx值为1G,为一半
[root@elasticsearch-1 ~]# vim /elasticsearch-8.6.0/config/jvm.options
-Xms1g
-Xmx1g
(10) 将elasticsearch加入systemctl
[root@elasticsearch-1 ~]# vim /usr/lib/systemd/system/elasticsearch.service
[Unit]
Description=elasticsearch
After=network.target
[Service]
Type=forking
User=elastic
ExecStart=/elasticsearch-8.6.0/bin/elasticsearch -d
PrivateTmp=true
指定此进程可以打开的最大文件数
LimitNOFILE=65535
指定此进程可以打开的最大进程数
LimitNPROC=65535
最大虚拟内存
LimitAS=infinity
最大文件大小
LimitFSIZE=infinity
超时设置 0-永不超时
TimeoutStopSec=0
SIGTERM是停止java进程的信号
KillSignal=SIGTERM
信号只发送给给JVM
KillMode=process
java进程不会被杀掉
SendSIGKILL=no
正常退出状态
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
(11) 启动elasticsearch
[root@elasticsearch-1 ~]# systemctl start elasticsearch && systemctl enable elasticsearch
(12) 设置elasticsearch密码
[root@elasticsearch-1 ~]# /elasticsearch-8.6.0/bin/elasticsearch-setup-passwords interactive
![在这里插入图片描述](https://img-blog.csdnimg.cn/2a0a07d509754010915abe4323c57e7e.png#pic_center)
(13) 查看集群状态
curl -u elastic:123456 http://192.168.220.21:9200/_cat/health?v
![在这里插入图片描述](https://img-blog.csdnimg.cn/38b403aadd2940978ebce9e0ed2339ba.jpeg#pic_center)
##### 2、kibana
(1) 创建用户
[root@elasticsearch-1 ~]# useradd kibana
[root@elasticsearch-1 ~]# echo “123456” | passwd --stdin kibana
程序不以root用户启动
(2) 解压kibana压缩包
[root@kibana kibana]# ls
kibana-8.6.0-linux-x86_64.tar.gz
将kibana-8.6.0-linux-x86_64.tar.gz解压到 / 目录下
[root@kibana kibana]# tar xf kibana-8.6.0-linux-x86_64.tar.gz -C /
进行授权
[root@elasticsearch-1 ~]# chown -R kibana:kibana /kibana-8.6.0/
[root@kibana ~]# ll /kibana-8.6.0/ -d
drwxr-xr-x. 11 kibana kibana 239 Aug 30 16:09 /kibana-8.6.0/
(3) 修改kibana.yml配置文件
vim /kibana-8.6.0/config/kibana.yml(添加如下内容)
语言设置为中文
i18n.locale: “zh-CN”
对外开放端口
server.port: 5601
对外开放ip
server.host: “192.168.220.20”
服务名称
server.name: “kibana”
设置连接elasticsearch集群的hosts
elasticsearch.hosts: [“http://192.168.220.21:9200”, “http://192.168.220.22:9200”, “http://192.168.220.23:9200”]
开启跨集群监控
monitoring.ui.ccs.enabled: true
使用kibana_system用户连接elasticsearch集群
elasticsearch.username: “kibana_system”
elasticsearch.password: “220054”
设置日志格式以及日志存放地址
logging.appenders.default:
type: file
fileName: /data/kibana/logs/kibana.log
layout:
type: json
(4) 将kibana加入systemctl
[root@kibana ~]# vim /usr/lib/systemd/system/kibana.service
[Unit]
Description=kibana
After=network.target
[Service]
Type=simple
此处需要写你自己kibana启动的用户
User=kibana
此处需要写你kibana启动执行文件存放的路径
ExecStart=/kibana-8.6.0/bin/kibana
PrivateTmp=true
[Install]
WantedBy=multi-user.target
(5) 启动Kibana
[root@kibana ~]# systemctl start kibana && systemctl enable kibana
(6) 在浏览器中访问 Kibana
访问地址:http://192.168.220.20:5601/
并输入elastic账号以及密码, 即你在elasticsearch初始化的账号密码
![在这里插入图片描述](https://img-blog.csdnimg.cn/b7e151ad5c9b4cf4a59db69f83c5578b.png#pic_center)
##### 3、logstash
(1) 解压logstash压缩包
[root@kibana logstash]# ls
logstash-8.6.0-linux-x86_64.tar.gz
将logstash-8.6.0-linux-x86_64.tar.gz解压到 / 目录下
[root@kibana logstash]# tar xf logstash-8.6.0-linux-x86_64.tar.gz -C /
(2) 进行logstash测试,查看logstash服务功能运行是否正常
在/logstash-8.6.0/config/目录下创建logstash-test.conf配置文件
[root@kibana logstash-8.6.0]# vim config/logstash-test.conf
input {
控制台输入
stdin {
id => “my_plugin_id”
}
}
output {
控制台输出
stdout {
}
}
执行logstash并指定上述配置文件
[root@kibana logstash-8.6.0]# bin/logstash -f config/logstash-test.conf -t
(如若出现Configuration OK, 则表示logstash服务功能运行正常)
上述检查正常后,直接启动logstash测试标准输入和输出,logstash启动以后输入“hello world”、“测试”等进行测试,会得到一个json格式的响应
[root@kibana logstash-8.6.0]# bin/logstash -e ‘input { stdin{}} output { stdout{ codec => rubydebug }}’
![在这里插入图片描述](https://img-blog.csdnimg.cn/474834c558f24e75978f6b6171996ad7.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/916fae4df0e6449d967e3d4ed398ad6d.png#pic_center)
(3) 进行logstash连接elasticsearch测试
首先需在kibana可视化页面创建logstash用户
![在这里插入图片描述](https://img-blog.csdnimg.cn/29a82cca836141fb93f1344d6a9c40f3.png#pic_center)
并且用户也需要指定用户权限
![在这里插入图片描述](https://img-blog.csdnimg.cn/34e784e3763a46689a1e488d442f24bd.png#pic_center)
设置的权限如下所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/c1390f6914114d4abe5226e827e51f57.png#pic_center)
创建logstash配置文件进行测试
在/logstash-8.6.0/config/目录下创建logstash-file.conf配置文件
[root@kibana logstash-8.6.0]# vim config/logstash-file.conf
input {
控制台输入内容作为logstash的输入
stdin {}
}
output {
file {
# 将输出结果也输出在/tmp/logstash-test.log文件下一份
path => “/tmp/logstash-test.log”
}
elasticsearch {
# 对应elasticsearch的集群,以及对外端口
hosts => [“192.168.220.21:9200”, “192.168.220.22:9200”, “192.168.220.23:9200”]
# 登录
user => “manager”
password => “220054”
}
}
执行logstash并指定上述配置文件
[root@kibana logstash-8.6.0]# bin/logstash -f config/logstash-file.conf
控制台输入几个数据
![在这里插入图片描述](https://img-blog.csdnimg.cn/989139ca784a44c8a5165c8f64639cae.png#pic_center)
查看/tmp/logstash-test.log文件内容,以及elasticsearch中的数据
![在这里插入图片描述](https://img-blog.csdnimg.cn/b00a31e0c072469ea2ebe94310794bc8.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cacb73adac0b40d794bcb07875491ad5.png#pic_center)
数据推送成功,因为在推送elasticsearch时,未指定index,索引默认为log-\*,数据将会存放到该index中,如上图所示。
##### 4、使用filebeat+logstash收集nignx数据推送es
(1) 在一台nginx服务器上解压filebeat压缩包
[root@web /filebeat]# ls
filebeat-8.6.0-linux-x86_64.tar.gz
将logstash-8.6.0-linux-x86_64.tar.gz解压到 / 目录下
[root@web /filebeat]# tar xf filebeat-8.6.0-linux-x86_64.tar.gz -C /
(2) 设置filebeat配置文件
在/filebeat-8.6.0-linux-x86_64目录下修改filebeat.yml文件
[root@web /filebeat-8.6.0-linux-x86_64]# vim filebeat.yml
filebeat.inputs:
设置收集类型为log
- type: log
enabled: true
收集nginx日志文件/usr/local/nginx/logs/access.log的内容
paths:
- nginx日志文件/usr/local/nginx/logs/access.log
output.logstash:
内容输出到对应192.168.220.20对应的5044端口上
hosts: [“192.168.220.20:5044”]
enabled: true
间隔为5s
keep_alive: 5s
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算