堡塔日志服务系统 功能描述:堡塔日志服务系统是一款功能强大的日志管理和分析工具、多主机多网站日志收集、汇总、存储、统计与分析等多项功能一体的日志分析系统
查看详情:https://ciilii.com/article/299
安装命令:
- curl -sSO http://download.bt.cn/btlogs/btlogs.sh && bash btlogs.sh install
复制代码
卸载命令:
- bash btlogs.sh uninstall
复制代码
堡塔日志服务系统命令行操作命令:
- btlogs
复制代码
1、安装步骤 执行安装命令:
- curl -sSO [url=http://download.bt.cn/btlogs/btlogs.sh]http://download.bt.cn/btlogs/btlogs.sh[/url] && bash btlogs.sh install
复制代码
建议机器配置: 可用内存大于8G 选择设置的时区:只能是设置亚洲上海的时区或者不设置时区。设置亚洲上海时区,输入y,回车。不设置时区,输入n,回车。
安装完成:需要在防火墙和安全组中开启9203、9204端口才能进行访问。 9203端口用于访问网站,需要开放tcp协议。 9204端口用于收集、传输日志,需要开放udp协议。 防火墙开放的命令:
- # centos
- sudo firewall-cmd --add-port=9203/tcp --permanent
- sudo firewall-cmd --add-port=9204/udp --permanent
- sudo firewall-cmd --reload
- # debian/ubuntu
- sudo ufw allow 9203/tcp
- sudo ufw allow 9204/udp
复制代码
安全组中开放:参考这个帖子去安全组中开放对应的端口https://www.bt.cn/bbs/thread-109457-1-1.html
访问日志分析系统:
2、添加需要收集日志的主机 点击:收集管理>>添加主机
选择好外网ip或者内网ip,根据自己的实际情况去选择,不要选择错误,选择错误会导致收集不了日志。 如果您是收集外网机器的网站日志,就选择外网ip。 如果您是收集内网机器的网站日志,就选择内网网ip。
然后复制命令到需要收集的主机里面执行,检测这个主机跟日志分析系统是否可以连接通信,如果可以连接通信,说明日志分析系统可以正常的去收集日志。
这时候就配置开启日志发送配置:
- 可以选择设置站点日志和系统日志
- 选择您的web服务器类型
- 填写您的站点域名
- 复制配置到web服务器中
nginx服务: 第一个配置:添加至nginx主配置的http模块中
第二个配置:添加至站点配置的server模块中
apache服务: 第一个配置:添加至apache主配置的<IfModule log_config_module>模块里面
第二个配置:添加至站点配置的VirtualHost模块中
系统日志的收集配置:复制命令到需要收集日志的主机里面执行
访问网站,然后查看运维分析模块里面是否有访问日志,如果有说明是收集日志成功。注意:如果网站这时候没有访问数据,收集管理模块的主机列表显示的状态还是"未配置,请先前往配置",这是正常的,等网站有访问记录之后会显示成接收中。
3、模块讲解 1、日志分析 可以选择不同的网站域名,查询不同网站的关键访问指标,包括浏览量(PV)、访客数(UV)、IP数、流量、请求数等信息,此外,用户可以方便地进行不同时间段的数据比较,包括今日、昨日和总计数据,以便全面了解各网站的访问情况。这一功能旨在使用户能够轻松获取详尽的网站访问信息。
日志分析模块提供了多项高级功能,其中包括: 1. 访客趋势图:用户可以轻松查看不同时间段(今日、昨日、最近7天、最近30天)的访客趋势图。这些趋势图涵盖了访客、浏览量和访客数三个关键指标,有助于深入了解网站的流量情况。其中可以分别按照小时、分钟作为周期刷新趋势图,如果需要实时性高一点的趋势图,建议选择分钟作为周期。 2. 页面耗时统计:提供了页面耗时统计功能,可以帮助用户了解哪些页面加载较慢,从而进行优化。 3. 外部访问来源:提供外部访问来源,帮助用户识别流量的来源,例如搜索引擎、社交媒体等,以便更好地了解受众和市场渠道。 4. IP访问数:统计独立IP访问数,帮助用户了解网站的受众范围和用户多样性、检查是否有反爬虫和恶意访问、进行流量分析等功能。 5. 浏览数最多页面:展示浏览量最高的页面,让用户知道哪些内容受欢迎,以便进行进一步的内容优化和策略制定。 6. 访问来源:记录访问者的IP地区和访问次数。
2、运维分析 运维分析模块提供了三种重要的日志类型,分别为网站访问日志、网站错误日志和系统日志。此外,还提供了高效的搜索日志功能,允许他们通过定义不同的索引规则来快速检索所需的日志信息。如果用户对如何配置索引规则不够了解,我们提供了帮助文档,以指导他们进行配置和优化。这个模块旨在为用户提供更专业、高效的日志管理和分析工具。 网站访问日志包含了每次用户访问网站时的重要信息,用于跟踪和分析网站流量和用户行为。它记录了以下字段: - 服务器名称:记录产生日志的服务器名称或标识。 - 客户端IP:访问网站的客户端的IP地址,用于确定访问者的来源。 - 网站名称:被访问网站的名称或标识。 - Method:HTTP请求方法(例如,GET、POST)。 - URI:被请求资源的统一资源标识符。 - User-Agent:访问者的用户代理信息,通常包含浏览器和操作系统的信息。 - Referer:指示用户是从哪个页面链接跳转到当前页面的信息。 - 请求数据:客户端发送的请求数据或参数。 - 状态:HTTP响应状态码。 - 耗时:服务器处理请求所花费的时间。 - ReqSize:请求的数据大小。 - ResSize:响应的数据大小。 - 请求时间:访问发生的时间戳。
网站错误日志记录了与网站访问相关的错误和异常情况,有助于识别和解决问题。它包含以下字段: - 服务器名称:记录产生日志的服务器名称或标识。 - 服务器IP:产生日志的服务器的IP地址。 - 网站名:发生错误的网站的名称或标识。 - 日志内容:详细描述了错误或异常的信息。 - 请求时间:发生错误的时间戳。
系统日志用于记录服务器操作和系统事件,以便管理员监控服务器的状态和性能。它包括以下字段: - 服务器名称:记录产生日志的服务器名称或标识。 - 服务器IP:产生日志的服务器的IP地址。 - 日志类型:指示日志是由哪个服务产生的。 - 日志内容:包含了有关系统事件或操作的详细信息。 - 请求时间:日志产生的时间戳。
搜索框可通过日志信息的表头去索引日志,例如:客户端ip=192.168.77.111 、网站名称=wp.dengjilin.com等去索引。也可以通过这个下面提供的索引规则去搜索相关日志。
3、收集管理
收集管理提供添加主机、日志收集服务设置。对于添加的主机可以查看服务器名称、服务器名称/IP、状态、已收集日志、最近上线时间、操作 收集管理模块提供了两个重要功能:添加主机和日志收集服务设置。 添加的主机可以展示以下信息: - 服务器名称:每台服务器都有一个易于识别的名称,可自定义。 - 服务器名称/IP:显示产生日志的ip。 - 状态:反映日志服务系统跟产生日志机器的接收状态。 - 已停止:表示主机停止发送日志 - 接收中:表示日志服务系统正在接收来自该主机的日志数据。 - 未配置,请前往配置:表示尚未配置日志服务,需要用户前往配置以启动日志服务,去web配置中配置日志发送信息,并且产生新的日志之后状态就变化成接收中。
- 已收集日志:可以查看网站访问日志、网站错误日志、系统日志的具体状态。 - 已停止:表示停止发送日志 - 接收中:表示日志服务系统正在接收来自该主机的日志数据。 - 接收中,但未收到数据,请检查配置:没有收到主机发送的日志,可以访问一下网站,然后发送日志到日志服务系统就显示接收中。
- 最近上线时间:显示了服务器的最近上线时间戳。 - 操作:用来配置日志接收的,通过提供的配置,去web服务配置文件里面配置就可以去设置接收日志。
日志收集服务设置可以设置以下功能: 1. 网站别名:用户可以为不同网站设置别名,以便更容易识别和管理日志。这是一个键值对,如:www.bt.cn:宝塔 表示将网站 www.bt.cn 映射为别名宝塔。 2. 系统日志站点别名:用户可以为系统日志站点设置别名,提高可识别性,区分不同的机器。如:192.168.77.111机器设置别名为"测试"。 3. 过滤的URI:用户可以设置要过滤的URI,即指定要排除的全路径。这有助于排除不需要记录的特定请求。例如:填写url为http://192.168.77.111/contact.html ,当访问这个url时,是不会接收这个url的日志,直接过来拦截。 4. 过滤的域名:用户可以设置要过滤的域名,以排除特定域名的日志记录。如:填写www.bt.cn域名,日志服务系统就不会记录这个域名的日志信息。 5. 过滤的IP:用户可以设置要过滤的IP地址,以排除特定IP的日志记录。如:填写ip192.168.77.10,日志服务系统就不会记录这个ip的日志信息。 6. 过滤的UA:用户可以设置要过滤的User-Agent,只要User-Agent包含指定的关键字即可过滤掉。不需要包含全部的UA。如:填写AppleWebKit/537.36,就可以拦截包含这个关键字的UA。 7. 过滤的请求方法:用户可以设置要过滤的HTTP请求方法,只有与指定的方法完全匹配的请求会被过滤掉。如:GET、POST等。 8. 过滤的状态码:用户可以设置要过滤的HTTP响应状态码,只有与指定状态码匹配的请求会被过滤掉。如:404、502等。 9. 过滤系统日志的关键字:用户可以设置系统日志的关键字(区分大小写),只要系统日志包含指定关键字即可过滤掉。如:yum,过滤掉包含关键字yum的日志信息。 10. 过滤错误日志的等级:用户可以设置要过滤的错误日志等级,只有与指定等级匹配的错误日志会被过滤掉。如:error、warn等。 11. 过滤fromdata数据:用户可以设置要过滤的路由下的数据,这是一个键值对,键是路由,值是要过滤的数据。如:name:djl
4、设置 设置模块有以下的功能: 1. 开启SSL:ssl目前是强制开启的,使用的是自签证书,也可以部署成从ca申请的证书,当部署这个ssl证书之后,日志服务系统无法访问,去到ssh终端中执行命令切换回自签证书:btlogs 9 2. 系统别名:为了方便管理和识别,可以给堡塔日志服务系统自定义名称,用于网页标题。 3. 绑定域名:为了增强安全性,建议将堡塔日志服务系统绑定到一个访问域名上。请注意,一旦绑定了域名,只能通过该域名访问堡塔日志分析,以提高可控性和安全性。当绑定域名之后,堡塔日志服务系统不能正常访问,去到ssh终端中执行命令取消域名绑定:btlogs 11 4. 授权IP:为了进一步加强安全性,您可以设置访问授权IP。通过指定允许访问的IP地址列表,可以限制只有指定IP的电脑能够访问堡塔日志服务系统,以保护系统免受未经授权的访问。如果您的白名单ip变化导致堡塔日志服务系统登录不上,去到ssh终端中执行命令关闭ip白名单验证:btlogs 10 5. 安全入口:设置安全入口可以提高登录堡塔日志服务系统的安全性。定义一个安全入口,只有知道这个码的用户才能登录,增加额外的安全层,有助于保护系统免受未经授权的访问。 6. 端口:默认情况下,堡塔日志分析使用端口9203,目前还不能自定义端口。 7. 管理员账号:设置堡塔日志分析账号,可自定义。 8. 密码:设置堡塔日志分析密码,可自定义。 9. 绑定宝塔账号:将堡塔日志分析与宝塔账号绑定。 10. Elasticsearch设置:提供了与Elasticsearch相关的设置,包括Elasticsearch主机、用户名、密码以及数据过期时间的配置。目前只有数据过期时间可自定义。
参考文献:https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=120054&page=1&extra=#pid502203