首页 > 其他分享 >安装elk日志监控系统

安装elk日志监控系统

时间:2023-05-17 17:01:17浏览次数:35  
标签:elk kibana elasticsearch usr 监控 日志 local logstash

下载安装包稳定版本

elasticsearch-7.17.10-linux-x86_64.tar.gz  # https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-10
logstash-7.17.10-linux-x86_64.tar.gz     # https://www.elastic.co/downloads/past-releases/logstash-7-17-10
kibana-7.17.10-linux-x86_64.tar.gz       # https://www.elastic.co/downloads/past-releases/kibana-7-17-10
jdk1.8.0_351.tar.gz               #jdk8版本以上

172.16.1.12:server端安装elasticsearch、kibana、jdk

172.16.1.2:agent端安装logstash、jdk ,每个主机都需要安装一个logstash

1、安装jdk

# tar zxvf jdk1.8.0_351.tar.gz -C /usr/local/  #解压

# vim /etc/profile  #系统环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_351
export JAVA_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

# source /etc/profile  #刷新加载

  # java -version  #验证
  openjdk version "1.8.0_351"
  OpenJDK Runtime Environment (build 1.8.0_351-b08)
  OpenJDK 64-Bit Server VM (build 25.351-b08, mixed mode)

2、安装es

mkdir /usr/local/elk  #创建目录,方便管理
tar -zxvf elasticsearch-7.17.10-linux-x86_64.tar.gz -C /usr/local/elk  #解压
cd /usr/local/elk  #进入
mv elasticsearch-7.17.10 elasticsearch  #重命名
adduser es  #创建用户echo 1234 |passwd --stdin es  #更改密码
mkdir /usr/local/elk/elasticsearch/data  #创建数据存放目录
chown -R es:es /usr/local/elk/elasticsearch  #将ES所解压的目录授予此对应的用户

系统配置

编辑vi /etc/security/limits.conf,追加以下内容;
# 设置当前ES用户的最大文件数(这里也可以使用*,表示所有的用户)
echo "elasticsearch soft nofile 65536" >> /etc/security/limits.conf
echo "elasticsearch hard nofile 65536" >> /etc/security/limits.conf
修改配置文件sysctl.conf:
vi /etc/sysctl.conf
# 修改下述配置, 如果没有就在文件末尾添加:
echo "vm.max_map_count=655360" >> /etc/sysctl.conf
# 执行命令使修改生效:
sysctl -p

修改配置文件elasticsearch.yml

vim /usr/local/elk/elasticsearch/config/elasticsearch.yml
添加以下内容:
cluster.name: my-application
node.name: node_01
path.data: /usr/local/elk/elasticsearch/data
path.logs: /usr/local/elk/elasticsearch/logs
network.host: 172.16.1.12
http.port: 20003
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
cluster.initial_master_nodes: ["node_01"]

添加es服务

 vim /usr/lib/systemd/system/elasticsearch.service

[Unit]
Description=elasticsearch
After=network.target

[Service]
Type=forking
#启动用户
User=es
#jdk位置
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/jdk1.8.0_351/bin"
#启动指令
ExecStart=/usr/local/elk/elasticsearch/bin/elasticsearch -d
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65536
# 指定此进程可以打开的最大进程数
LimitNPROC=65536
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

启动es

#重新加载
systemctl daemon-reload
#开机自启动
systemctl enable elasticsearch.service
#启动服务
systemctl start elasticsearch.service
#查看服务状态
systemctl status elasticsearch.service

查看端口,进程

netstat -tunlp |grep 20003
tcp6       0      0 172.16.1.12:20003       :::*                    LISTEN      26703/java        

3、安装 logstash

在被收集端安装logstash,提前安装jdk这里省略

上传,解压

tar -zxvf logstash-7.17.10-linux-x86_64.tar.gz -C /usr/local/elk/
cd /usr/local/elk/
mv logstash-7.17.10 logstash

创建日志搜索配置文件

vim /usr/local/elk/logstash/bin/config.conf

 

input {

file {
path => "/var/log/messages"  #日志目录
type => "messages_log_172.16.1.2"  #自定义名称
start_position => "beginning"  #默认
}

file {
path => "/var/log/secure"
type => "secure_log_172.16.1.2"
start_position => "beginning"
}
} output { if [type] == "messages_log_172.16.1.2"{ elasticsearch { hosts => ["172.16.1.12:20003"]  #es的地址 index => "messages_log_172.16.1.2-%{+YYYY.MM.dd}" } } if [type] == "secure_log_172.16.1.2"{ elasticsearch { hosts => ["172.16.1.12:20003"] index => "secure_log_172.16.1.2-%{+YYYY.MM.dd}" } } }

启动

vim /usr/local/logstash/bin/startup.sh  #启动脚本

nohup /usr/local/logstash/bin/logstash -f config.conf >/dev/null 2>&1 &
chmod +x /usr/local/logstash/bin/startup.sh  #添加支持权限
sh /usr/local/logstash/bin/startup.sh      #启动

查看

ps aux |grep logstash

4、安装kibana

解压

tar zxvf kibana-7.17.10-linux-x86_64.tar.gz -C /usr/local/elk
cd /usr/local/elk
mv kibana-7.17.10 kibana

 

编辑配置文件

vim /usr/local/elk/kibana/config/kibana.yml

server.port: 20006  #启动端口
server.host: "172.16.1.12"  #kibana地址
elasticsearch.hosts: ["http://172.16.1.12:20003"]  #es地址
kibana.index: ".kibana"  #默认
i18n.locale: "zh-CN"    #开启中文

 

保存退出
启动kibana

vim /usr/local/elk/kibana/bin/startup.sh

nohup /usr/local/elk/kibana/bin/kibana --allow-root &

chmod +x /usr/local/elk/kibana/bin/startup.sh

sh /usr/local/elk/kibana/bin/startup.sh

检查

netstat -tunlp |grep 20006
tcp 0 0 172.16.1.12:20006 0.0.0.0:* LISTEN 30710/node

 

到这里,3个组件都正常启动的情况下,可以访问kibana页面啦

http://172.16.1.12:20006/

 添加索引

 

 创建索引模式

 

 

进行查看

 

 

标签:elk,kibana,elasticsearch,usr,监控,日志,local,logstash
From: https://www.cnblogs.com/xgsh/p/17408250.html

相关文章

  • linux 日志文件
    目录一、日志作用二、日志管理三、日志分类四、日志级别五、日志实验               一、日志作用1.记录系统具体动作2.方便阅读日志,解决故障 二、日志管理管理命令:users、who、w、last、lastb1.users查询最近三次登......
  • aop监控接口调用
    SpringBoot+AOP实现记录操作日志和异常日志,并保存到数据库_springboot请求日志保存数据库_C3Stones的博客-CSDN博客 springAOP实现操作日志记录,并记录请求参数与编辑前后字段的具体改变-香吧香-博客园(cnblogs.com)......
  • 通过网站日志做网络爬虫和恶意访问分析
    普通爬虫分别查看有爬虫标志的访问次数和合计的总页面访问次数catwww.access.log|grepspider-ccatwww.access.log|wc查看爬虫来ip地址来源catwww.access.log|grepspider|awk'{print$1}'|sort-n|uniq-c|sort-nr在防火墙上对其地址做限制/e......
  • nginx 日志配置
    示例log_formatmain'$remote_addr-$remote_user[$time_local]"$request"''$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded......
  • git只监控一部分文件
    参考资料:https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository有的时候自己的git仓库写的太臃肿,自己都看的心烦,但是又改不动。此时如何操作,能实现只gitclone很大仓库的一部分,或者说git只监控一部分文件?mkdi......
  • 日志文件管理
    目录1.分类2.内核日志消息优先级别3.设施facility4.保存位置5.日志内容格式6.日志文件保留时间7.内核及系统日志统一管理工具8.自定义服务的日志文件位置9.集中管理日志记录系统、程序运行中发生的各种事件阅读日志,有助于诊断和解决系统故障1.分类内核及系统日志......
  • 煤化工厂污水处理PLC如何实现远程监控和远程维护上下载
    煤化工厂内的污水难于降解,不容易处理,容易对环境造成污染,直接威胁到人类健康,需要一整套严格精确的污水处理流程,以保证污水处理程序正确、安全可控。 目前,通过PLC控制的污水处理设备可以实现自动化工作,通过PLC数据采集可以远程监控污水处理设备并及时报警,对于保障污水处理工作有重要......
  • Qt编写视频监控系统73-不同视频流不同类型的判断和解析(http/m3u8/rtsp/rtmp等)
    一、前言这套视频监控系统大概从2018年起步整体框架,一步步积累到现在,中间经历了无数次的各种视频文件、视频流、视频设备的播放测试,比如光视频文件就有mp4/wmv/rmvb/mkv/avi等格式,视频设备有本地USB摄像头、桌面等,视频流有rtmp/rtsp/rtp/http等,其中http开头的就有视频文件和视频......
  • 记一次数据误删操作通过闪回以及日志挖掘恢复
    由于开发人员不小心删除业务表然后想通过我来恢复数据,我第一时间发现由于undo_retention参数只保留15分钟,通过闪回这种方法并不能恢复数据,然后通过日志挖掘来截取该时间段数据,然后通过创建记录表来保存到记录表里方便查询。通过记录表里的数据来恢复数据。以下命令是一些操作的命......
  • Java-Day-22( 线程一:相关概念 + 继承 Thread 类 + 实现 Runnable 接口 + JConsole 监控
    Java-Day-22线程相关概念程序:是为完成特定任务、用某种语言编写的一组指令的集合(就是平常所写代码)进程:运行中的程序,例如,打开一个软件就启动一个进程,操作系统就会给每个启动的软件分配一新的内存(活动进程占用的物理内存)空间进程是程序的一次执行过程,或是正在运......