elk系列之elk单机部署

`简介`
ELK是目前主流的一种日志系统,三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。
Elasticsearch是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。
Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。采用jruby语言开发。
Kibana 是一个免费且开放的用户界面,能够对 Elasticsearch 数据进行可视化,并让在 Elastic Stack 中进行导航。可以进行各种操作,从跟踪查询负载,到理解请求如何流经整个应用。
`工作原理`
收集日志->          存储分析->               界面展示->
        logstash->          elasticsearch->          kibana

1、环境描述

10.1.0.103          安装jdk,elasticsearch7.x,logstash7.x,kibana7.x

2、安装jdk

下载地址:https://download.oracle.com
(1)解压安装包
tar xvf jdk-8u141-linux-x64.tar.gz
(2)配置环境变量(解压路径及下载版本跟需调整)
echo ' export JAVA_HOME=/usr/local/java/jdk1.8.0_141/' >> /etc/profile
echo ' export JAVA_BIN=/usr/local/java/jdk1.8.0_141/bin' >> /etc/profile
echo ' export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo ' export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
echo ' export JAVA_HOME JAVA_BIN PATH CLASSPATH' >> /etc/profile
(3)刷新环境变量
source /etc/profile
(4)查看安装情况
java -version

3、安装elasticsearch

(1)配置elasticsearch源
 vim /etc/yum.repos.d/elasticsearch.repo
 [elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
(2)安装elasticsearch
yum install elasticsearch -y
(3)配置elasticsearch
vim /etc/elasticsearch/elasticsearch.yml
17 cluster.name: my-application
23 node.name: elk-1
56 network.host: 0.0.0.0
61 http.port: 9200
74 cluster.initial_master_nodes: ["elk-1"]
#head插件连接es
http.cors.enabled: true
http.cors.allow-origin: "*"
说明:启动内存和其他参数跟机器需求调整
(4)启动
/etc/init.d/elasticsearch start
(5)测试
curl 127.0.0.1:9200

elasticsearch启动
4、安装elasticsearch-head插件

(1)安装nodejs
curl -sL https://rpm.nodesource.com/setup_11.x | bash -
yum install nodejs -y
(2)使用git安装elasticsearch-head
yum install git -y
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
说明:安装报错,可参考https://blog.youkuaiyun.com/weixin_44320761/article/details/121291103?spm=1001.2014.3001.5501
(3)后台启动
nohup npm run start >/dev/null 2>&1 &
(4)浏览器访问测试
http://IP:9100

elasticsearch-head访问
5、安装logstash

(1)安装
yum install -y logstash
(2)创建一个软连接(默认安装在/usr/share下)
ln -s /usr/share/logstash/bin/logstash /bin/
(3)测试
logstash -e 'input { stdin { } } output { stdout {} }'

logstash测试

(4)标准输出elasticsearch中
logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["10.1.0.103:9200"] } stdout { codec => rubydebug }}'

logstash
elasticsearch-head查看logstash

(5)logstash使用配置文件配置系统日志
vim logstash.conf
input {
    file {
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
    }
}

output {
    if [type] == "system" {
        elasticsearch {
            hosts => ["10.1.0.103:9200"]
            index => "test-system-%{+YYYY.MM.dd}"
        }
    }
}
(6)后台启动
nohup logstash -f logstash.conf >/dev/null 2>&1 &

logstash访问
6、安装kibana

(1)安装
yum install kibana -y
(2)配置kibana
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://10.1.0.103:9200"]
kibana.index: ".kibana"
(3)启动
/etc/init.d/kibana start
(4)浏览器访问
http://IP:5601

kibana
kibana

### 安装和配置单机ELK 堆栈 #### 1. Elasticsearch 安装与配置 在 Ubuntu 上安装 Elasticsearch 需要遵循以下流程: 下载并解压 Elasticsearch: ```bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.3-linux-x86_64.tar.gz tar -xvzf elasticsearch-8.14.3-linux-x86_64.tar.gz cd elasticsearch-8.14.3/ ``` 编辑 `elasticsearch.yml` 文件以完成基本配置: ```yaml cluster.name: my-elk-cluster node.name: node-1 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch network.host: 0.0.0.0 http.port: 9200 discovery.type: single-node ``` 上述配置文件路径可以参考[^3]。 启动 Elasticsearch 并验证其运行状态: ```bash ./bin/elasticsearch & curl http://localhost:9200 ``` --- #### 2. Logstash 安装与配置 下载并解压 Logstash: ```bash wget https://artifacts.elastic.co/downloads/logstash/logstash-8.14.3-linux-x86_64.tar.gz tar -xvzf logstash-8.14.3-linux-x86_64.tar.gz cd logstash-8.14.3/ ``` 创建一个简单的输入输出管道配置文件 `/etc/logstash/conf.d/pipeline.conf`: ```conf input { stdin {} } output { elasticsearch { hosts => ["http://localhost:9200"] } stdout {} } ``` 启动 Logstash: ```bash ./bin/logstash -f /etc/logstash/conf.d/pipeline.conf ``` Logstash 将从标准输入读取数据,并将其发送至 Elasticsearch 进行处理[^2]。 --- #### 3. Kibana 安装与配置 下载并解压 Kibana: ```bash wget https://artifacts.elastic.co/downloads/kibana/kibana-8.14.3-linux-x86_64.tar.gz tar -xvzf kibana-8.14.3-linux-x86_64.tar.gz cd kibana-8.14.3/ ``` 修改 `kibana.yml` 文件中的设置: ```yaml server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"] ``` 此部分配置可参照[^1]。 启动 Kibana: ```bash ./bin/kibana & ``` 访问 Kibana Web 界面,默认地址为 `http://<your-server-ip>:5601`。 --- #### 4. 测试整个 ELK 堆栈功能 通过向 Logstash 输入一些测试日志来验证系统的正常运作。例如,在终端中键入任意字符串,观察这些数据是否被成功写入 Elasticsearch 和显示于 Kibana 中。 --- ### 注意事项 确保所有服务之间的网络通信畅通无阻,尤其是当它们监听不同的端口时(如 Elasticsearch 的 9200、Kibana 的 5601)。如果遇到权限问题,则可能需要调整防火墙规则或 SELinux 设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值