当前位置: 首页 > wzjs >正文

四川成都现在可以去吗优化培训课程

四川成都现在可以去吗,优化培训课程,浏阳网站制作公司,javascript 做网站1.软件包安装及配置 rpm安装 使用 RPM 安装 Elasticsearch |Elasticsearch 指南 [8.17] |弹性的https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rpm.html#rpm-repo 官方的安装包 从github进去 Elastic Stack 软件的往往版本 | 弹性的 一般我们选的是含jdk…

1.软件包安装及配置

rpm安装

使用 RPM 安装 Elasticsearch |Elasticsearch 指南 [8.17] |弹性的https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rpm.html#rpm-repo

官方的安装包

从github进去

Elastic Stack 软件的往往版本 | 弹性的

一般我们选的是含jdk的elastic的包,如果选的是未含jdk的安装包,就要自己安装jdk。elastic软件包对jdk环境有要求(好像是7.0版本之前的elastic都是没有自带jdk的)

支持一览表 | Elastic

清华大学镜像源安装

elasticstack | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

安装

我是rpm安装

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.2-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.2-x86_64.rpm.sha512
shasum -a 512 -c elasticsearch-8.17.2-x86_64.rpm.sha512 
sudo rpm --install elasticsearch-8.17.2-x86_64.rpm

给ELK每个节点配500G的磁盘,然后对加入的磁盘格式化 mkfs.xfs (ELK选择xfs文件系统适合)

mkdir -p /data/elasticsearch/{elasdata,elaslog}
#chown -R elasticsearch.elasticesearch  /data/
lsblk   #查看加入的磁盘
pvcreate  /dev/sdb
vgcreate vg1 /dev/sdb
lvcreate -L 499G -n lv1 vg1
mkfs.xfs /dev/vg1/lv1
mount /dev/vg1/lv1  /data#开机自动挂载
blkid /dev/sdb  #获取磁盘ID
vim /etc/fstab   #磁盘挂载开机生效
UUID=67b517c0-703d-488d-8de2-2347e4a0c0d7         /data        xfs defaults   0 0echo "* soft nofile 65536">>/etc/security/limits.conf
echo "* hard nofile 65536">>/etc/security/limits.conf#临时禁用虚拟内存sudo nano /etc/security/limits.conf
# 添加以下内容
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096ulimit  -a

无论什么集群。时间都要同步

crontab -e
* */6 * * *  ntpdate time1.aliyun.com &>/dev/null && hwclock -w

elasticsearch 有时候会因为JVM堆内存分配不足

(本机内存要足,我是3g内存。一开始我这个没有设置但是也启动了。第二次启动就不行了。3g内存也才刚刚好)

vim  /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g

 关于elasticsearch的JVM内存占系统比

(堆内存 是 Elasticsearch 占用的主要内存部分,用于存储索引数据、查询结果和缓存。)

Set JVM options | Elasticsearch Guide [8.17] | Elastichttps://www.elastic.co/guide/en/elasticsearch/reference/current/advanced-configuration.html#set-jvm-heap-size

systemctl start elasticsearch

创建elasticsearch用户用于登陆连接elasticsearch客户端

cd /usr/share/elasticsearch  #我打开了访问elastic的9200端口的时候会进行用户密码认证
#bin/elasticsearch-reset-password -u elastic                            (密码由系统生成)
bin/elasticsearch-reset-password -u elastic -i  #设置初始化用户elastic和密码(密码由自己指定)

--cacert 表示信任elastic自己搭建的CA服务器的CA证书,也就信任CA服务器所颁发的ssl证书

curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:sxm@325468 https://10.8.0.23:9200

cerebro :监控elasticsearch的状态

yum -y install java-1.8.0-openjdk.x86_64 #elastic的jdk版本和这个不是一样的,cere需要jdk-1.8
wget https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4-1.noarch.rpm
yum -y install cerebro-0.9.4-1.noarch.rpm
sudo keytool -import -alias elastic -file /etc/elasticsearch/certs/http_ca.crt -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/lib/security/cacerts -storepass changeit   #如果elastic开启了ssl,要把elstic证书导入cerebro的jdk环境
systemctl  start cerebro

我自己安装的java是这个版本(elasticsearch软件包自带java)

然后浏览器访问。可以看到cerebro监控到的elasticserch工具的状态

可以看到elasticsearch集群中的健康elasticsearch个数

 elasticsearch也采用分片的方式对收集到的数据进行存储

每个索引(文件)三个分片,每个分片一个副本(7.x的elastic默认是一个索引一个分片,一个备份,但是我们可以自己规定一个索引多少个分片)

以下是在cerebro上创建elasticsearch索引

分片和副本会分别创建到不同的elastic服务器上

kibana和elastic也有版本兼容性(最好logstash也是相同版本)

kibana是连接elastic的客户端,用于分析查看elastic收集到的日志信息

elastic/kibana: Your window into the Elastic Stack

kibana安装

Download Kibana Free | Get Started Now | Elastic

注意:

通过 bin/elasticsearch-reset-password -u elastic -i 重置的 elastic 用户密码,‌不能直接用于 Kibana 的连接认证‌,因为 Kibana 默认使用独立的系统用户 kibana_system(而非 elastic 用户)连接 Elasticsearch

bin/elasticsearch-reset-password -u kibana_system -i  chown -R kibana kibana /kibana/http_ca.crt   #elastic的ca证书

elasticsearch会以索引的方式收集数据,索引的方式其实就是不同类型日志分开存储。假设有一个微服务magedu-web1。这个服务的访问日志单独收集放在一个文件(一个索引),错误日志单独收集放在一块,系统日志单独放在一块。一般访问日志能转成json格式,其他只能以行的方式收集。索引只有访问日志才能转化为图表。

访问 http://kibana_ip:5601访问elastic的web控制端

初始登陆 elastic  sxm@325468(密码是自己设置的)

kibana(这个建议看完logstash再看)

创建索引的模糊匹配,点击这个可以一次性查看这个服务的systemlog的所有日志(基本elasticseach是以日期day做保存的,(一天收集到的systemlog)作为一个索引(文件))

在kibana中创建模糊匹配,达到同时查看某个服务的所有日志(项目-服务-类型-时间戳)

查看日志(kibanad所有天的系统日志)

kibana创建图形

Kibana详细入门教程 - 雪山飞猪 - 博客园       我感觉直接看这个人的比较方便 

老师说收集的数据格式要是json格式的数据才可以。但是我实践收集的日志不是json也可以

比如把这个访问ip拉进去就能看见哪些ip访问了多少次

logstash 安装

logstash 自7.x之后自带jdk,无需再安装jdk

Installing Logstash | Logstash Reference [8.17] | Elastic   

Download Logstash Free | Get Started Now | Elastic

logstash 文档

Logstash Introduction | Logstash Reference [8.17] | Elastic

logstash如何设置,如何将数据转换,存储到哪里(logstash的读取和输出)

Input plugins | Logstash Reference [8.17] | Elastic

Output plugins | Logstash Reference [8.17] | Elastic

logstash读取文件的时候要注意文件的权限。直接换成root启动logstash

*收集日志到并存储到elasticsearch上

在/etc/logstash/conf.d 编译配置收集日志的配置文件

vim /etc/logstash/conf.d/test1.conf

input {file {path => "/var/log/vmware-network*"start_position => "beginning"  #如果是第一次收集vmwar日志就从头开始收集,如果不是就从上次结束的位置收集,结束的位置记录在sincedbmode => "read"}
}
output {elasticsearch {hosts =>  ["https://192.168.75.135:9200,https://192.168.75.136:9200,https://192.168.73.133"] #有几台elasticsearch写几台user => "elasticsearch"password => "adeaf#23ad"ssl => truecacert =>  "/root/http_ca.crt"index => "ai-smartservices-access-%{+YYYY.MM.dd}" #比如这时候可以在kibana上创建ai-smartsearvice-access-* 可以看见这个服务的全部访问日志#或者创建ai-smartsearvice-* 看见这个服务的所有收集相关日志}
}

sincedb记录收集到的日志的位置,下一次就从这个地方开始记录

cat /var/lib/logstash/plugins/inputs/file/.sincedb

 检查配置文件

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test1.conf -t #检查文件
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test1.conf  #执行文件#/usr/share/logstash/bin/logstash 可以指定单个配置文件
#systemctl start logstash         读取logstash/conf.d下的所有配置文件

这个是测试logstash连接的elastic是否创建了收集的数据的索引(elasticsearch主机上查询)

 curl -u elastic:8YmxoAUA2KhkvZSkh0oQ -X GET "https://192.168.75.135:9200/_cat/indices?" --cacert /root/http_ca.crt  #查看elasticsearch上创建的所有的索引curl -u elastic:8YmxoAUA2KhkvZSkh0oQ -X GET "https://192.168.75.135:9200/_cat/indices?v&index=ai-smartservices-access-*" --cacert /root/http_ca.crt  
# index => "ai-smartservices-access-%{+YYYY.MM.dd}"是索引 查看是否创建索引curl -u elastic:8YmxoAUA2KhkvZSkh0oQ -X GET "https://192.168.75.135:9200/ai-smartservices-access-2025.03.11/_search?pretty" --cacert /root/http_ca.crt
#查看是否能访问到收集到的数据

 1.logstash收集之特殊格式的日志

如果日志有好几行,而kibana是一行一行的收集的话,那么一条日志就会被它分开收集。要避免这种情况

*这样可以用于测试(stdin不接受file模块)

 /usr/share/logstash/bin/logstash  -f /etc/logstash/conf.d/test3.conf
    #这样可以直接在终端输入日志,然后在终端输出日志看是否符合条件

input {stdin {codec => multiline {pattern => "^\["negate => truewhat  =>  "previous"}}
}output {stdout {}
}

在终端输入测试数据,只有当识别到你输入的数据是“["开头,logstash才认为开始输入第二条日志了

2.关于json格式(我后来发现不是很重要,只有尼收集json格式的数据做解析然后传给elasticsearch 也传json格式就好)

input中设置codec=> json 必须是收集的日志就是json格式的(如果不是会报错但是还是会传送 到elasticsearch)

file 模块收集的是本地的日志文件

这里有个事情就是:

老师说的是只有在收集日志的时候,日志已经是json格式,然后收集的时候input标明  codec=>json  ,然后传给lesticsearch 才是json格式然后才能用图像表示

但是deepseek说只要收集的数据在output标明codec=>json它就能转换为json格式给elasticsearch

例如 :收集nginx的访问日志

input {file {path => "/var/log/nginx/access.log"type => "nginx-log"start_position => ["beginning"]codec => json}}output {elasticsearch {hosts => ["https://10.8.0.23:9200"]user => "elastic"password => "sxm@325468"ssl => truecacert => "/logstash/http_ca.crt"index => "project1_server1_systemlog-%{+YYYY.MM.dd}"codec => json}stdout{}
}

elastic索引是基于服务去创建的(例如:一个服务的系统日志对应一种索引,然后一天产生的系统日志是一个索引)

在elasticsearch上可以查看,收集的日志数据存储在

ls -l    /data/elasticsearch/elasdata/indices/  #我在配置文件中设置了日志存储位置/data/elasticsearch/elasdata

indeices下是创建的索引(几个索引几个文件)

其实文件存放的是真正索引的分片文件。logstash存储到elasticsearch的数据是以分片(三个elasticsearch节点,三个分片,一个备份)的形式存储的,所以一个服务器上的某个索引并不是完整的日志文件。

3. logstash插件:要插件存在才能使用相关的模块

4.收集TCP/UDP端口的相关访问日志(tcp/udp日志了解即可)

这样写是有问题的(收集日志的索引不能有大写字母

这样写之后会报错

先往端口传数据

然后执行日志收集的时候出错了

改正后

一般这样可以用于临时收集文件

5.收集syslog产生的相关日志(一般用于收集硬件的相关日志)

rsyslog 的核心作用是为‌缺乏原生日志收集功能的服务‌提供统一日志管理支持,同时也能扩展或优化已有日志系统的服务¹³⁶。

通过syslog去收集交换机路由器等网络设备的日志(网络设备开启syslog模式,走syslog协议(smp模式))当logstash和服务不在同一个服务器的时候,可以使用syslog将服务上的日志发送给logstash

rsyslog.conf 是 rsyslog(一种高性能的日志管理服务)的主配置文件,用于定义日志的收集、处理、存储和转发规则。

/etc/rsyslog.conf 文件中规定了那个级别的日志输出到什么地方

(1)比如要把本地的local2级别的日志输出到什么地方

打开设置

vim /etc/rsyslog.conf

可以把日志收集到本地,也可以传输到远程服务器的端口,然后logstash可以从这个服务器的端口收集到日志

(2)在haproxy上打开日志的收集

把harpoxy80端口的访问转发到kibana

然后logstah将rsyslog收集到的日志进行处理转发到elasticsearch

http://www.dtcms.com/wzjs/446364.html

相关文章:

  • editplus怎么创网站百度电话查询
  • 办公室工作绩效 网站建设广州seo关键词优化费用
  • 网站设计步骤是什么营销型网站有哪些
  • 网站建设基本目标独立站建站平台
  • 如何更换网站新域名百度手机助手下载2021新版
  • 企微scrm收费seo3
  • 如何在社交网站上做视频推广方案青岛网站seo分析
  • erp仓库管理系统山东服务好的seo公司
  • b2c网站模版设计公司取名字大全集
  • 塘沽做网站的公司谷歌推广怎么样
  • 葫芦岛网站制作网站设计制作教程
  • 漯河专业做网站的公司济南网站建设
  • 做兼职在什么网站上找贵州seo技术查询
  • 做外贸的女生现状阿里巴巴怎么优化关键词排名
  • 网站建设中技术程序百度大数据官网
  • 网站开发助理是做什么的怎么样引流加微信
  • 网站ui设计师招聘搜索引擎优化的方式
  • 和优网站建设西安网页设计
  • 一个服务器怎么做两个网站上海好的网络推广公司
  • 手机版网站模板网络营销推广计划
  • 智慧政务网站怎么做免费建站有哪些
  • 瑞安做网站建设哪家好东莞网站建设制作
  • B2C购物网站建设目标广州最新消息
  • 广东网站建设公司电话seo的培训课程
  • css网站开发教程视频网站推广软件排名
  • 景安建网站google ads
  • 网站设置了自动登录怎么显示密码seo是什么的
  • 山东住房建设厅官网站爱站网
  • 东莞清洁服务网站建设宁波关键词优化平台
  • 制作视频的网站软件百度seo是什么