阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux日志分析ELK环境搭建

408次阅读
没有评论

共计 11485 个字符,预计需要花费 29 分钟才能阅读完成。

场景:ELK 作为一个日志收集和检索系统,感觉功能还是相当的强大的。

ELK 是啥, 其实是是三个组件的缩写, 分别是 elasticsearch, logstash, kibana. ELK 平台可以用于实现日志收集、日志搜索和日志分析. 当然, 如果你有花不完的 money, 完全可以使用商业版的 Splunk, Orz…

ELK 分别是什么

1). ELK 现在都是属于 elastic 公司的产品, 产品主页.

1.elasticsearch(es): 它是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。
2.logstash: 简单说是一个日志收集工具, 可以定义从哪里获取数据, 并且可以简单处理数据, 最后可以定义将数据输出到哪里, 一般输出到 es. 
3.kibana: 其实就是一个数据展示界面, 并且可以分析数据, 例如从 es 中读取数据进行展示分析. es 自己也带有简单的展示 dashboard: http://127.0.0.1:9200/_plugin/head/, 当然 前提是你安装了 head 插件, 这个下面再说.

2). 简单流程

下面图简单的展示了三组件之间的协作,

1.elasticsearch(es): 它是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。
2.logstash: 简单说是一个日志收集工具, 可以定义从哪里获取数据, 并且可以简单处理数据, 最后可以定义将数据输出到哪里, 一般输出到 es. 
3.kibana: 其实就是一个数据展示界面, 并且可以分析数据, 例如从 es 中读取数据进行展示分析. es 自己也带有简单的展示 dashboard: http://127.0.0.1:9200/_plugin/head/, 当然 前提是你安装了 head 插件, 这个下面再说.

总的来说分成四大部分, 第一, 应用产生数据, 第二, logstash 从应用收集数据, 第三, 将数据放入 es, 第四, 使用 kibana 进行数据展示以及分析.

1 准备

1.1 环境检测

本文介绍安装 logstash 2.2.0 和 elasticsearch 2.2.0,操作系统环境版本是

Linux 日志分析 ELK 环境搭建

安装 JDK 是必须的,一般操作系统都会有,只是版本的问题,这里在安装的过程中发现 ELK 大部分都要求 1.8 以上的 JDK,所以果断换 1.8 版本的 JDK 省事些。

Linux 日志分析 ELK 环境搭建

而 Kibana 只是一个用纯 JavaScript 写的前端 UI。一定要注意 Kibana 的版本,它会要求 ES 的版本。下表展示了kibana 和 Elasticsearch 之间的对应关系

 Linux 日志分析 ELK 环境搭建

1.2 软件下载

注意:这三个软件之间的版本如果选择不对,中间会出现很多想不到的问题。我这里的总结是 elasticsearch 和 logstash 最好保持版本一直,kibana 和 es 的版本如上表所示的对应。

 在网站中搜索下面三个软件的压缩包。https://www.elastic.co/

这里我都是选择 Linux 64 位的压缩包,然后将这三个文件通过 FTP 工具上传到自己建立的目录下面,这里以 Etest 为例。

ps:ELK 三个软件的安装基本就是解压,然后执行就可以运行了,所以安装的目录完全可以自己选择。

logstash all plugins 2.2.0

elasticsearch 2.2.0

kibana 4.4.1

 Linux 日志分析 ELK 环境搭建

1.3 解压缩软件

# 将软件解压到 /usr/local 目录
##tar -xzvf elasticsearch-5.0.1.tar.gz -C /usr/local

# 首先切换到软件下载目录,然后将三个软件直接解压到 Etset 目录
tar -xzvf elasticsearch-2.2.0.tar.gz

tar -xzvf logstash-all-plugins-2.2.0.tar.gz

tar -xzvf kibana-4.4.1-linux-x64.tar.gz

解压后文件如下图所示:

Linux 日志分析 ELK 环境搭建

2 elasticsearch

2.1 启动 elasticsearch

ps:启动时候不能以 root 用户启动,否则会报错。

cd /home/ipsp/Etest/elasticsearch-2.2.0

#启动命令
bin/elasticsearch

正常启动情况的状态如下图所示:

Linux 日志分析 ELK 环境搭建

注意:为了能够通过浏览器访问 elasticsearch,我们需要配置 elasticsearch 的配置文件,主要是修改network.host 和 http.port

vim config/elasticsearch.yml

# 修改配置文件内容如下:

network.host: 0.0.0.0

 http.port: 9200

Linux 日志分析 ELK 环境搭建

之所以修改端口,是因为 ES 每次启动时,端口可能会变(端口被占用,ES 自己会改端口)~

如果还不能正常启动 ES,并提示端口被占用,就 查看一下什么程序占用 9200 端口,kill 掉,重启 ES 就行。

我遇到的,Java 把 9200 端口占用了。

 通过上述配置在浏览器就能够访问 ElasticSearch 了,这里我使用的 Chrome 浏览器,用 360 浏览器每次打开都是下载文件,浏览器的问题

Linux 日志分析 ELK 环境搭建

 

2.2 检测 elasticsearch 状态

 重新打开一个终端,用非 root 用户登录,输入指令来检测 Elasticsearch 的连通性:

curl -X GET http://localhost:9200

# 需要先修改 elasticsearch 的配置文件,参考 2.1,这样也能够检测
curl -X GET http://168.33.130.224:9200

状态如图所示:

Linux 日志分析 ELK 环境搭建

2.3 插件安装

先查看你的 ES 都有哪些插件,这里我已经安装了 Head 插件,所以直接能看到。

ipsp@ibps:~/Etest/elasticsearch-2.2.0> bin/plugin list
Installed plugins in /home/ipsp/Etest/elasticsearch-2.2.0/plugins:
– head
ipsp@ibps:~/Etest/elasticsearch-2.2.0>

1、安装 Head 插件

ES 支持在线和本地安装 Head。本地安装时,从 Github 上下载 Head 插件,然后上传到你的 ES 服务器,比如,/home/ipsp/Etest/elasticsearch-2.2.0 目录。

ps:在线安装总是安装失败,这里就讲解下本地安装的过程。

1、本地安装

  • 下载插件 elasticsearch-head-master
  • 执行命令安装
    bin/plugin install -v file:plugins/elasticsearch-head-master.zip
     
    [root@vcyber elasticsearch]# bin/plugin install -v file:plugins/elasticsearch-head-master.zip
    -> Installing from file:plugins/elasticsearch-head-master.zip...
    Trying file:plugins/elasticsearch-head-master.zip ...
    Downloading .........DONE
    Verifying file:plugins/elasticsearch-head-master.zip checksums if available ...
    NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
    - Plugin information:
    Name: head
    Description: head - A web front end for an elastic search cluster
    Site: true
    Version: master
    JVM: false
     
    Installed head into /usr/local/elasticsearch/elasticsearch/plugins/head    // 安装成功的标志

可以通过命令来查看插件是否安装完成:

bin/plugin list

注意:install 选项,ES 的 2.* 版本,都不带“-”横线选项,即“-install”。

注意:若是本地安装,而且,你把 Head 压缩包放到了 Elasticsearch/plugins 目录下,安装后,一定要将 Elasticsearch-head zip 压缩包删掉,否则启动 ES 时会报“不能初始化插件”错误。

  • 浏览器访问 http://your ip adress:9200/_plugin/head你就会看到如下界面:

Linux 日志分析 ELK 环境搭建

关于 head 插件会在后面的部分进行介绍,未完待续

2、在线安装(只是参考)

[root@vcyber elasticsearch]# bin/plugin install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
Downloading ...................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
Installed head into /usr/local/elasticsearch/elasticsearch/plugins/head

2.4 问题汇总

下面有些问题是从别的地方摘抄的,可以借鉴,有的是自己遇到的。

1、java 版本不对——更换 JDK 版本

[root@vcyber elasticsearch]# bin/elasticsearch

Exception in thread“main” java.lang.RuntimeException: Java version: Oracle Cooration 1.7.0_51 [Java HotSpot(TM) 64-Bit Server VM 24.51-b03] suffers from crical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause dataorruption.

Please upgrade the JVM, see http:
//www.elastic.co/guide/en/elasticsearch/referce/current/_installation.html for current recommendations.

If you absolutely cannot upgrade, please add
-XX:-UseSuperWord to the JAVA_OPT environment variable.

Upgrading is preferred,this workaround will result in degraded performance.

        at org.elasticsearch.bootstrap.JVMCheck.check(JVMCheck.java:123)

        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:283)

        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:3

Refer to the logfor complete error details. 

大意是:Java 运行时异常,本机版本 JDK 有 bug……让升级 JVM。如果实在不能升级,就向 JAVA_OPT 环境变量添加 -XX:-UseSuperWord 选项。

2、elasticsearch 不能用 root 用户运行——切换到非 root 用户运行

在 root 用户解压完 elasticsearch 后出现如下错误:

[root@localhost cs408]# /usr/local/elasticsearch-5.0.1/bin/elasticsearch
[2016-11-30T09:24:56,235][WARN][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:116) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-5.0.1.jar:5.0.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:96) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:155) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) ~[elasticsearch-5.0.1.jar:5.0.1]
    … 6 more
[root@localhost cs408]# vim /usr/local/elasticsearch-5.0.1/config/elasticsearch.yml

解决方案:

因为安全问题 elasticsearch 不让用 root 用户直接运行,所以要创建新用户,这里以已有用户 cs408 为例:

第一步:liunx 创建新用户  adduser  XXX  然后给创建的用户加密码 passwd XXX    输入两次密码。(已有可以忽略)

第二步:切换刚才创建的用户 su XXX  然后执行 elasticsearch  会显示 AccessDeniedException 权限不足。

Linux 日志分析 ELK 环境搭建

第三步:给新建的 XXX 赋权限,chmod 777 *  这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用 root 用户登录赋予权限。

第四步:root 给 XXX 赋权限,chown -R XXX / 你的 elasticsearch 安装目录。

chown -R cs408 /usr/local/elasticsearch-5.0.1 

再次执行就能看到成功输出信息。

bin/elasticsearch

3 logstash

logstash 提供各种安装包,包括 tar.gz,ZIP,DEB 和 RPM。另外,又提供了一个包含所有插件的压缩包——logstash-all-plugins-2.2.0.tar.gz。本文以它为例。解压后,配置 logstash,运行即可。

3.1 创建配置文件

logstash 运行时需要使用配置文件,主要是用于定义内容的输入、输出、中间处理等。

创建配置文件所在目录,并编辑配置文件

cd /home/ipsp/Etest/logstash-2.2.0
vim
logstash_agent.conf

在配置文件 logstash_agent.conf 添加如下内容:

input {
    stdin{}
}

output {
  elasticsearch {
    action => "index"            # 在 ES 上操作 index
    hosts  => "168.33.130.224:9200"  # ES 地址
    index  => "logstash--%{+YYYY-MM}"            # 索引名
  }

上面的配置主要是在 logstash 命令段输入日志信息,然后将日志输出到 elasticsearch 中。

ps:注意这里的 index 选项,我命名的是logstash--%{+YYYY-MM},这个在后面的 head 插件和 kibana 中都会有所体现的。

3.2 启动

bin/logstash -f logstash_agent.conf 

看到如下的内容,便表示成功了

ipsp@ibps:~/Etest/logstash-2.2.0> bin/logstash -f logstash_agent.conf
Settings: Default pipeline workers: 40
Logstash startup completed

3.3 测试

 通过上面的配置,我们已经可以在 logstash 命令端输入信息,然后通过 head 插件进行查看了:

前提要保证 elasticsearch 和 logstash 都正常启动(需要先启动 elasticsearch,再启动 logstash,不然 elasticsearch 会报错),head 插件也已经正确安装!

我们输入 Hello world!

Linux 日志分析 ELK 环境搭建

在 head 插件中的,我们可以看到如下信息:

Linux 日志分析 ELK 环境搭建

在数据库浏览中,我们可以看到索引项——logstash--%{+YYYY-MM},这个是我们在配置 logstash 输出到 elasticsearch 的配置文件中定义的(logstash_agent.conf)

我在 logstash 命令端输入的字符串 Hello world!在 head 的图形化界面能够查看到,其中还包含了其他一些默认的字段。

这里每输出一条信息,在 head 插件中都能够实时的看到,感觉很强大。

到此,elasticsearch 和 logstash 之间的连通已经搭建成功。

3.4 插件

你可以查看 logstash 都安装了哪些插件

bin/plugin list

 

ipsp@ibps:~/Etest/logstash-2.2.0> bin/plugin list
logstash-codec-avro
logstash-codec-cef
logstash-codec-cloudfront
logstash-codec-cloudtrail
logstash-codec-collectd
logstash-codec-compress_spooler
logstash-codec-dots
logstash-codec-edn
logstash-codec-edn_lines
logstash-codec-es_bulk
logstash-codec-fluent
logstash-codec-graphite
logstash-codec-gzip_lines
logstash-codec-json
logstash-codec-json_lines
logstash-codec-line
logstash-codec-msgpack
logstash-codec-multiline
logstash-codec-netflow
logstash-codec-nmap
logstash-codec-oldlogstashjson
logstash-codec-plain
logstash-codec-rubydebug
logstash-codec-s3plain
logstash-codec-spool
logstash-filter-aggregate
logstash-filter-alter
logstash-filter-anonymize
logstash-filter-checksum
logstash-filter-cidr
logstash-filter-cipher
logstash-filter-clone
logstash-filter-collate
logstash-filter-csv
logstash-filter-date
logstash-filter-de_dot
logstash-filter-dns
.......................
.......................

 

4 kibana

4.1 启动

ipsp@ibps:~/Etest> cd kibana-4.4.1-linux-x64/
ipsp@ibps:~/Etest/kibana-4.4.1-linux-x64> bin/kibana

如果看到类似如下输出,就代表成功了:

ipsp@ibps:~/Etest/kibana-4.4.1-linux-x64> bin/kibana
log [16:59:39.891] [info][status][plugin:kibana] Status changed from uninitialized to green – Ready
log [16:59:39.942] [info][status][plugin:elasticsearch] Status changed from uninitialized to yellow – Waiting for Elasticsearch
log [16:59:39.961] [info][status][plugin:kbn_vislib_vis_types] Status changed from uninitialized to green – Ready
log [16:59:39.974] [info][status][plugin:markdown_vis] Status changed from uninitialized to green – Ready
log [16:59:39.983] [info][status][plugin:metric_vis] Status changed from uninitialized to green – Ready
log [16:59:39.987] [info][status][plugin:spyModes] Status changed from uninitialized to green – Ready
log [16:59:39.991] [info][status][plugin:statusPage] Status changed from uninitialized to green – Ready
log [16:59:39.995] [info][status][plugin:table_vis] Status changed from uninitialized to green – Ready
log [16:59:40.026] [info][listening] Server running at http://168.33.130.224:5601
log [16:59:40.040] [info][status][plugin:elasticsearch] Status changed from yellow to green – Kibana index ready

通过浏览器访问 http://168.33.130.224:5601/ 就可以看到 kibana 界面了。

配置 ES 索引:

kibana 第一次使用时,会要求创建 index,只要按照默认值即可。

 Linux 日志分析 ELK 环境搭建

首次会提示没有索引。。。。

首先需要加上我们刚刚建立的索引 index => "logstash--%{+YYYY-MM}"(这里请参考 3.1 中的 logstash_agent.conf 的配置), 点击 setting->indices, 在这里我们可以 Configure an index pattern, 也就是说可以配置 正则匹配的 index,

可以看到默认的 index 是 “logstash-*”, 默认是从 logstash 导出的数据, 因为我们在 logstash 中配置的索引就是 logstash 开头的,所以这里我们 保持默认不变.

下面还有一个 Time-field name, 一般来说 time 都是一个必要的字段, 并且这个字段的类型是 date 类型! 不是 string!!! 如果没有时间字段, 那么将上面的 ” Index contains time-based events” 取消就 OK.

创建完索引是这样的:

Linux 日志分析 ELK 环境搭建

点击菜单栏: Discover, 如果没有看到数据, 那么点击右边的时间, 改成 Today, 现在你应该能看到数据了吧 … 反正我能看到:

ps:这里的时间是以 Linux 服务器中的时间为主。我这里点 today 看不到,点的 This Week 才看到:

Linux 日志分析 ELK 环境搭建

在上面可以直接搜索,很方便。其他功能待开发。

4.2 问题

1、出现 Configure an index pattern create 是灰色的的问题

这个问题是配置文件的问题,修改 logstash 的配置文件,使其输出到 elasticsearch,其中的 index 选项配置为 kibana 上的 index,比如我是 index => “logstash–%{+YYYY-MM}”,这个时候重启 logstash,kibana 就保持默认的 logstash-* 索引既可,应该能够看到 Create 按钮了

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145494.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计11485字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7989943
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...