在论坛已久,发现用户提交问题,太过于简单,很多就是说明现象,不太便于分析和理解。
来论坛发帖大部分都是Domino管理员和开发者,希望更加细致和专业,同时提高自己分析能力。
以下来自ibm的邮件或者帮助:
1 当Windows平台上服务器挂起(非HTTP)时,收集数据的流程:
1. 在服务器的控制台上输入
set config CONSOLE_LOG_ENABLED=1
set config DEBUG_THREADID=1
set config DEBUG_CAPTURE_TIMEOUT=1
set config DEBUG_SHOW_TIMEOUT=1
2 当服务器挂起,在Domino控制台上执行如下命令:
sh server
sh task debug
sh task time
sh user
sh stat
3 用Dos命令手工收集nsd日志,当nsd完成收集后,请在五分钟内执行'dump'命令对所有Domino服务器线程做另一个快照。
下面是如何收集nsd的提示:
I 打开一个dos命令窗口
II 进入domino data目录,例如"cd c:\lotus\domino\"
III 在Domino程序目录下执行nsd,例如"c:\lotus\domino\nsd"
当nsd运行结束,命令行中的提示符会更改为:
nsd>
IV 五分钟后执行dump命令,用来dump线程堆栈。在问题期内至少收集两次dump
V 退出Domino服务器,如果可以,可在Domino控制台输入'q'或者'quit'命令来退出Domino,如果服务器不能正常退出,就需要在"nsd>"提示符下用'kill'这个命令来杀掉所有Domino进程。
4 需要收集的数据有:
- nsd log, 文件名: nsd_<plaftform>_<ServerName>_date@time.log, date/time 应是nsd运行的时刻
- console log, 文件名: console_name_yyyy_mm_dd@hh_mm_ss.log,the date/time 应是服务器最后一次启动的时刻
- SEMDEBUG txt, 文件名: SEMDEBUG_name_yyyy_mm_dd@hh_mm_ss.TXT, the date/time 应是服务器最后一次启动的时刻
上面的文件位于Domino Data目录,IBM_TECHNICAL_SUPPORT 子目录
2 Lotus Traveller服务器日志收集
收集服务器日志
本主题包含有关收集日志文件和信息以协助 Lotus Notes® Traveler 支持人员解决服务器安装、启动和运行时问题的指示信息。
提高记录级别
执行以下操作,为 Lotus Notes Traveler 服务器任务提高记录级别、增加日志文件大小和最大活动日志文件数。请注意,可能不必增加日志文件大小或最大活动文件数。
在 IBM® Lotus® Domino® Administrator 中,打开 Lotus Notes Traveler 服务器的服务器配置文档。
在文档中单击 Lotus Traveler 选项卡,然后单击编辑服务器。
将记录级别更改为最详细。
将活动日志的最大文件大小更改为所需的最大文件大小。
将最大活动日志文件数更改为所需的最大活动日志数。
保存并关闭服务器文档。
等几分钟让更改生效,然后重现问题。
注: 还可以为每个用户逐个设置记录以节约输入/输出空间和带宽。有关记录命令的详细信息,请参阅控制台命令。
收集日志
以下文件和目录包含记录或配置信息,这些信息在对服务器启动/运行时问题进行故障诊断时很有用。以 Zip 或 tar 格式压缩下面指定的所有文件和目录。当指示目录时,包括整个目录。
\Lotus\Domino\notes.ini
\Lotus\Domino\data\servlets.properties
\Lotus\Domino\data\traveler\cfg\
\Lotus\Domino\data\traveler\logs\
如果问题涉及在创建 \traveler 目录前安装失败,请提供以下临时日志(如果存在):%TEMP%\Idatetime\Windows\NTSInstall.log(例如 C:\Documents and Settings\Administrator\Local Settings\Temp\I1206535899\Windows\NTSInstall.log)。
如果问题涉及 Domino 服务器崩溃,另请提供以下日志:
用于捕获崩溃的 NSD 日志,位于 \Lotus\Domino\data\IBM_TECHNICAL_SUPPORT\NSDdatetime.log 中
Javacore 文件,根据具体安装情况,其位置可能会有不同,但或许能在 \Lotus\Domino\javacore.datetime.txt 中找到
注: 为了不影响性能,在收集日志并解决问题后,建议您将日志级别恢复到原来的设置。
二 以上主要收集的是服务器日志,Notes客户端也是类似
本地存在log.nsf,同时在数据目录下也存在:
data\IBM_TECHNICAL_SUPPORT\
和服务器类似,同样用来分析Notes客户端问题。
打开IIS(互联网信息服务)在日志记录里面打开属性,找到你的日志文件在哪里,然后用文本文档打开就可以。默认存放地址是:
C:\WINDOWS\system32\LogFiles
虚拟主机,怎么看网站日志
首先你要先给自己空间商说明,自己需要下载网站日志,请他们帮你开启服务器的日志记录功能(绝大多数空间商,都支持网站日志)。
登录FTP后,日志一般都存放在【logfiles】文件夹下,可以通过FTP工具将网站日志下载下来,并通过TXT文本方式查看。
以下是各大搜索引擎蜘蛛名称,方便大家查询,搜索引擎对网站的爬行规律
每个搜索引擎蜘蛛都有自己的名字,在抓取网页的过程中,它们会向网站标明自己的身份。
百度(Baidu)蜘蛛标识为:BaiDuSpider
谷歌(Google)蜘蛛标识为:GoogleBot
搜狗(Sogou)蜘蛛标识为:sogou spider
搜搜(SOSO)蜘蛛标识为:Sosospider
雅虎(Yahoo)蜘蛛的标识为:Yahoo! Slurp
一套好的日志分析系统可以详细记录系统的运行情况,方便我们定位分析系统性能瓶颈、查找定位系统问题。上一篇说明了日志的多种业务场景以及日志记录的实现方式,那么日志记录下来,相关人员就需要对日志数据进行处理与分析,基于E(ElasticSearch)L(Logstash)K(Kibana)组合的日志分析系统可以说是目前各家公司普遍的首选方案。
作为微服务集群,必须要考虑当微服务访问量暴增时的高并发场景,此时系统的日志数据同样是爆发式增长,我们需要通过消息队列做流量削峰处理,Logstash官方提供Redis、Kafka、RabbitMQ等输入插件。Redis虽然可以用作消息队列,但其各项功能显示不如单一实现的消息队列,所以通常情况下并不使用它的消息队列功能;Kafka的性能要优于RabbitMQ,通常在日志采集,数据采集时使用较多,所以这里我们采用Kafka实现消息队列功能。
ELK日志分析系统中,数据传输、数据保存、数据展示、流量削峰功能都有了,还少一个组件,就是日志数据的采集,虽然log4j2可以将日志数据发送到Kafka,甚至可以将日志直接输入到Logstash,但是基于系统设计解耦的考虑,业务系统运行不会影响到日志分析系统,同时日志分析系统也不会影响到业务系统,所以,业务只需将日志记录下来,然后由日志分析系统去采集分析即可,Filebeat是ELK日志系统中常用的日志采集器,它是 Elastic Stack 的一部分,因此能够与 Logstash、Elasticsearch 和 Kibana 无缝协作。
软件下载:
因经常遇到在内网搭建环境的问题,所以这里习惯使用下载软件包的方式进行安装,虽没有使用Yum、Docker等安装方便,但是可以对软件目录、配置信息等有更深的了解,在后续采用Yum、Docker等方式安装时,也能清楚安装了哪些东西,安装配置的文件是怎样的,即使出现问题,也可以快速的定位解决。
Elastic Stack全家桶下载主页: https://www.elastic.co/cn/downloads/
我们选择如下版本:
Kafka下载:
安装前先准备好三台CentOS7服务器用于集群安装,这是IP地址为:172.16.20.220、172.16.20.221、172.16.20.222,然后将上面下载的软件包上传至三台服务器的/usr/local目录。因服务器资源有限,这里所有的软件都安装在这三台集群服务器上,在实际生产环境中,请根据业务需求设计规划进行安装。
在集群搭建时,如果能够编写shell安装脚本就会很方便,如果不能编写,就需要在每台服务器上执行安装命令,多数ssh客户端提供了多会话同时输入的功能,这里一些通用安装命令可以选择启用该功能。
新建/usr/local/java目录
将下载的jdk软件包jdk-8u64-linux-x64.tar.gz上传到/usr/local/java目录,然后解压
配置环境变量/etc/profile
在底部添加以下内容
使环境变量生效
备注:后续可通过此命令停止elasticsearch运行
新建kafka的日志目录和zookeeper数据目录,因为这两项默认放在tmp目录,而tmp目录中内容会随重启而丢失,所以我们自定义以下目录:
修改如下:
在data文件夹中新建myid文件,myid文件的内容为1(一句话创建:echo 1 >myid)
kafka启动时先启动zookeeper,再启动kafka;关闭时相反,先关闭kafka,再关闭zookeeper。
1、zookeeper启动命令
后台运行启动命令:
或者
查看集群状态:
2、kafka启动命令
后台运行启动命令:
或者
3、创建topic,最新版本已经不需要使用zookeeper参数创建。
参数解释:
复制两份
--replication-factor 2
创建1个分区
--partitions 1
topic 名称
--topic test
4、查看已经存在的topic(三台设备都执行时可以看到)
5、启动生产者:
6、启动消费者:
添加参数 --from-beginning 从开始位置消费,不是从最新消息
7、测试:在生产者输入test,可以在消费者的两台服务器上看到同样的字符test,说明Kafka服务器集群已搭建成功。
Logstash没有提供集群安装方式,相互之间并没有交互,但是我们可以配置同属一个Kafka消费者组,来实现统一消息只消费一次的功能。
Filebeat用于安装在业务软件运行服务器,收集业务产生的日志,并推送到我们配置的Kafka、Redis、RabbitMQ等消息中间件,或者直接保存到Elasticsearch,下面来讲解如何安装配置:
1、进入到/usr/local目录,执行解压命令
2、编辑配置filebeat.yml
配置文件中默认是输出到elasticsearch,这里我们改为kafka,同文件目录下的filebeat.reference.yml文件是所有配置的实例,可以直接将kafka的配置复制到filebeat.yml
后台启动命令
停止命令
2、测试logstash是消费Kafka的日志主题,并将日志内容存入Elasticsearch
自动新增的两个index,规则是logstash中配置的
数据浏览页可以看到Elasticsearch中存储的日志数据内容,说明我们的配置已经生效。
Gitee: GitEgg: GitEgg 是一款开源免费的企业级微服务应用开发框架,旨在整合目前主流稳定的开源技术框架,集成常用的最佳项目解决方案,实现可直接使用的微服务快速开发框架。
GitHub: https://github.com/wmz1930/GitEgg
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)