上传文件至 'MD'

This commit is contained in:
diandian 2023-12-14 23:33:41 +08:00
parent 1e49f6b2d9
commit b1138fd9a0
4 changed files with 218 additions and 88 deletions

View File

@ -48,94 +48,7 @@ output {
} }
``` ```
注意:
```shell
USERNAME [a-zA-Z0-9._-]+
USER %{USERNAME}
EMAILLOCALPART [a-zA-Z][a-zA-Z0-9_.+-=:]+
EMAILADDRESS %{EMAILLOCALPART}@%{HOSTNAME}
INT (?:[+-]?(?:[0-9]+))
BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+)))
NUMBER (?:%{BASE10NUM})
BASE16NUM (?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))
BASE16FLOAT \b(?<![0-9A-Fa-f.])(?:[+-]?(?:0x)?(?:(?:[0-9A-Fa-f]+(?:\.[0-9A-Fa-f]*)?)|(?:\.[0-9A-Fa-f]+)))\b
POSINT \b(?:[1-9][0-9]*)\b
NONNEGINT \b(?:[0-9]+)\b
WORD \b\w+\b
NOTSPACE \S+
SPACE \s*
DATA .*?
GREEDYDATA .*
QUOTEDSTRING (?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))
UUID [A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}
# URN, allowing use of RFC 2141 section 2.3 reserved characters
URN urn:[0-9A-Za-z][0-9A-Za-z-]{0,31}:(?:%[0-9a-fA-F]{2}|[0-9A-Za-z()+,.:=@;$_!*'/?#-])+
# Networking
MAC (?:%{CISCOMAC}|%{WINDOWSMAC}|%{COMMONMAC})
CISCOMAC (?:(?:[A-Fa-f0-9]{4}\.){2}[A-Fa-f0-9]{4})
WINDOWSMAC (?:(?:[A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2})
COMMONMAC (?:(?:[A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2})
IPV6 ((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?
IPV4 (?<![0-9])(?:(?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])[.](?:[0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]))(?![0-9])
IP (?:%{IPV6}|%{IPV4})
HOSTNAME \b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(\.?|\b)
IPORHOST (?:%{IP}|%{HOSTNAME})
HOSTPORT %{IPORHOST}:%{POSINT}
# paths
PATH (?:%{UNIXPATH}|%{WINPATH})
UNIXPATH (/([\w_%!$@:.,+~-]+|\\.)*)+
TTY (?:/dev/(pts|tty([pq])?)(\w+)?/?(?:[0-9]+))
WINPATH (?>[A-Za-z]+:|\\)(?:\\[^\\?*]*)+
URIPROTO [A-Za-z]([A-Za-z0-9+\-.]+)+
URIHOST %{IPORHOST}(?::%{POSINT:port})?
# uripath comes loosely from RFC1738, but mostly from what Firefox
# doesn't turn into %XX
URIPATH (?:/[A-Za-z0-9$.+!*'(){},~:;=@#%&_\-]*)+
#URIPARAM \?(?:[A-Za-z0-9]+(?:=(?:[^&]*))?(?:&(?:[A-Za-z0-9]+(?:=(?:[^&]*))?)?)*)?
URIPARAM \?[A-Za-z0-9$.+!*'|(){},~@#%&/=:;_?\-\[\]<>]*
URIPATHPARAM %{URIPATH}(?:%{URIPARAM})?
URI %{URIPROTO}://(?:%{USER}(?::[^@]*)?@)?(?:%{URIHOST})?(?:%{URIPATHPARAM})?
# Months: January, Feb, 3, 03, 12, December
MONTH \b(?:[Jj]an(?:uary|uar)?|[Ff]eb(?:ruary|ruar)?|[Mm](?:a|ä)?r(?:ch|z)?|[Aa]pr(?:il)?|[Mm]a(?:y|i)?|[Jj]un(?:e|i)?|[Jj]ul(?:y)?|[Aa]ug(?:ust)?|[Ss]ep(?:tember)?|[Oo](?:c|k)?t(?:ober)?|[Nn]ov(?:ember)?|[Dd]e(?:c|z)(?:ember)?)\b
MONTHNUM (?:0?[1-9]|1[0-2])
MONTHNUM2 (?:0[1-9]|1[0-2])
MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])
# Days: Monday, Tue, Thu, etc...
DAY (?:Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?)
# Years?
YEAR (?>\d\d){1,2}
HOUR (?:2[0123]|[01]?[0-9])
MINUTE (?:[0-5][0-9])
# '60' is a leap second in most time standards and thus is valid.
SECOND (?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)
TIME (?!<[0-9])%{HOUR}:%{MINUTE}(?::%{SECOND})(?![0-9])
# datestamp is YYYY/MM/DD-HH:MM:SS.UUUU (or something like it)
DATE_US %{MONTHNUM}[/-]%{MONTHDAY}[/-]%{YEAR}
DATE_EU %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}
ISO8601_TIMEZONE (?:Z|[+-]%{HOUR}(?::?%{MINUTE}))
ISO8601_SECOND (?:%{SECOND}|60)
TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?
DATE %{DATE_US}|%{DATE_EU}
DATESTAMP %{DATE}[- ]%{TIME}
TZ (?:[APMCE][SD]T|UTC)
DATESTAMP_RFC822 %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}
DATESTAMP_RFC2822 %{DAY}, %{MONTHDAY} %{MONTH} %{YEAR} %{TIME} %{ISO8601_TIMEZONE}
DATESTAMP_OTHER %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{TZ} %{YEAR}
DATESTAMP_EVENTLOG %{YEAR}%{MONTHNUM2}%{MONTHDAY}%{HOUR}%{MINUTE}%{SECOND}
# Syslog Dates: Month Day HH:MM:SS
SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}
PROG [\x21-\x5a\x5c\x5e-\x7e]+
SYSLOGPROG %{PROG:program}(?:\[%{POSINT:pid}\])?
SYSLOGHOST %{IPORHOST}
SYSLOGFACILITY <%{NONNEGINT:facility}.%{NONNEGINT:priority}>
HTTPDATE %{MONTHDAY}/%{MONTH}/%{YEAR}:%{TIME} %{INT}
# Shortcuts
QS %{QUOTEDSTRING}
# Log formats
SYSLOGBASE %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:
```

View File

@ -0,0 +1,38 @@
<h1><center>互联网公司架构规模</center></h1>
作者:行癫(盗版必究)
------
小型互联网公司的IT架构规模会因公司的具体需求和业务模式而有所不同但通常包括以下基本组件和规模
1. **硬件基础设施**
- 服务器:小型公司可能会使用数台物理服务器或虚拟机来托管其应用程序和数据库。
- 存储通常采用网络附加存储NAS或云存储服务以存储数据和备份。
- 网络设备:包括路由器、交换机和防火墙,以确保网络的稳定性和安全性。
2. **云服务**
- 很多小型公司选择采用云计算服务如AWS、Azure、Google Cloud来托管应用程序和存储数据这样可以减少硬件成本和提高可伸缩性。
3. **操作系统和虚拟化**
- 服务器通常运行Linux或Windows操作系统并可能使用虚拟化技术如VMware或Docker来隔离应用程序和服务。
4. **应用程序**
- Web应用程序用于公司的在线业务如网站、电子商务平台等。
- 数据库通常会使用关系型数据库如MySQL、PostgreSQL或NoSQL数据库如MongoDB来存储数据。
- 通信工具:如电子邮件服务器、即时消息应用程序等。
- 协作工具:如文档管理、项目管理、团队聊天工具等。
5. **安全性**
- 防火墙和入侵检测系统IDS用于保护公司的网络和数据。
- 访问控制:确保只有授权用户能够访问敏感数据和系统。
6. **监控和日志**
- 监控工具如Prometheus、Grafana等用于实时监控系统性能和健康。
- 日志管理用于记录应用程序和系统事件如Elasticsearch和Logstash。
7. **备份和灾难恢复**
- 定期备份数据,以确保在数据丢失或硬件故障时能够快速恢复。
- 制定灾难恢复计划,以准备面对更严重的系统中断。
8. **网络拓扑**
- 常见的网络拓扑包括单层或多层架构,以确保网络流量的流畅和安全。
9. **可伸缩性**
- IT架构应具备可伸缩性以应对业务增长。这可能包括负载均衡器和自动扩展机制。
10. **成本控制**
- 确保IT支出在公司的预算范围内并考虑采用开源软件或云计算服务来减少成本。
需要强调的是每家公司的IT架构都会根据业务需求和预算来定制所以在规划和实施IT架构时需要综合考虑多个因素。随着公司的发展IT架构可能需要不断优化和升级。

View File

@ -0,0 +1,53 @@
<h1><center>日志分析集群面试题</center></h1>
作者:行癫(盗版必究)
------
1.请解释ELK日志分析集群的组件以及它们各自的作用是什么
答案ELK日志分析集群由三个主要组件组成
Elasticsearch用于存储和索引大量的日志数据并提供高度可扩展的搜索和分析功能。
Logstash用于数据收集、处理和转换以将各种日志数据源标准化并发送到Elasticsearch。
Kibana用于可视化和查询存储在Elasticsearch中的日志数据提供用户友好的界面。
2.什么是Logstash它的主要功能是什么
答案Logstash是一个开源的数据收集和传输工具用于将不同格式的日志数据从各种源头如文件、网络、数据库等收集、转换和发送到Elasticsearch或其他目的地。它的主要功能包括数据收集、数据处理和数据转换以确保日志数据在存储和分析过程中的一致性和可用性
3.如何处理日志数据中的结构化和非结构化信息
答案Logstash可以处理结构化和非结构化信息。对于结构化数据您可以使用已知的解析器和过滤插件如grok插件来提取字段和值。对于非结构化数据您可以使用正则表达式、JSON解析器或其他自定义插件来提取有用的信息。一旦数据被提取它可以被标准化并发送到Elasticsearch以供进一步分析
4.什么是Elasticsearch索引模板它的作用是什么
答案Elasticsearch索引模板是一种用于定义索引配置的模板它在新索引创建时自动应用。这可以用于确保新索引遵循特定的映射、设置和分片配置以确保数据的一致性。索引模板通常基于索引名称、模式、别名等条件进行匹配
5.请解释Elasticsearch的分片和复制是什么以及如何选择合适的分片和复制数
答案Elasticsearch的分片是将索引数据分成更小的块以实现并行处理和数据存储。复制是数据冗余的机制用于提高高可用性和容错性。选择合适的分片和复制数取决于数据量、查询负载和性能需求。通常分片数应该足够多以充分利用集群中的节点而复制数应该根据高可用性需求来配置
6.请解释Kibana的可视化仪表板是什么以及如何创建自定义仪表板
答案Kibana的可视化仪表板允许用户创建和定制各种图表、表格和信息窗口以可视化和监控日志数据。用户可以将多个可视化元素组合成仪表板并应用筛选器、时间范围等以探索和分析数据。要创建自定义仪表板用户可以在Kibana中使用仪表板编辑器选择可视化元素并配置其属性
7.如何确保ELK集群的安全性和数据隐私
答案确保ELK集群的安全性和数据隐私是至关重要的。措施包括
访问控制使用身份验证和授权机制限制对ELK组件的访问。
数据加密配置TLS/SSL来加密数据传输。
安全插件使用Elastic Stack的X-Pack或其他安全插件来提供安全特性如角色和权限管理、审计日志等。
防火墙规则:配置防火墙规则以限制集群的网络访问。
定期更新及时更新ELK组件和操作系统以修补已知的安全漏洞。
日志审计:启用审计日志以跟踪对集群的操作和访问。
监控和警报监控ELK集群的安全性设置警报以应对潜在的威胁。

126
MD/项目案例.md Normal file
View File

@ -0,0 +1,126 @@
<h1><center>项目案例</center></h1>
作者:行癫(盗版必究)
------
#### 项目一
某公司业务逻辑层Mysql数据库集群架构优化
项目描述:
根据公司业务需求需要对MySQL数据库进行主从复制实时备份同时为了相应提升 MySQL数据库的读写性能 决定采用 Mycat 中间件对 MySQL 数据库做读写分离。公司的数据库主库没有做高可用如果数据库主库宕机那么会导致网站无法正常使用从而影响业务和用户体验最终决定使用MHAmysql+keepalived高可用方案来解决主库问题。
责任描述:
负责服务器的部署和环境初始化完成对服务的配置
高可用集群构建
集群环境测试,整理测试过程中的问题
编写自动化脚本,撰写技术文档等
#### 项目二
某公司业务自动化上线
项目描述:
随着公司业务的发展项目更新迭代逐渐频繁测试及生产环境代码上线频繁为了提高开发效率决定搭建企业级自动化系统CI/CD实现测试环境和生产环境的持续集成和持续交付
项目职责:
制定项目实施方案
确定所需服务器的数量及配置
进行系统优化及搭建基础环境
构建CI/CD服务并进行配置
测试自动化部署系统
编写自动化脚本和技术文档
#### 项目三
架构升级构建日志分析系统EFK
项目描述:
随着公司规模不断扩大业务日志数据不断增长日志量大增、文本搜索缓慢、多维度查询定位分析变得越来越困难无法实时获取或展示业务的具体情况为了更好的对日志进行分析和处理公司决定上线EFK日F志分析系统ELK是一套完整的日志收集、展示解决方案通过Filebeat数据采集代理Agent将获取到的数据发给ES或者通过Logstash发给ES然后进行后续的数据分析活动用Kibana分析并展示。
项目职责:
参与系统的规划和实施EFK简单、轻量、易扩展
通过ELK可分布式的收集检索以及完美的展示功能解决集群运维中海量日志的收集监控、预警和分析的问题
测试服务的可用性,交付使用
总结实施文档、项目实施和维护手册
#### 项目四
业务逻辑层架构升级Redis缓存服务器部署
项目描述:
由于业务逻辑层集群的数据访问量很多直接访问后端Mysql服务器导致数据库压力过大访问速度很慢。为了缓解数据库的压力加快访问速度。需要添加缓存服务器对常用数据进行缓存提高访问速度。而Redis支持的数据类型多且支持数据持久化存储是当前比较火的缓存服务器软件所以决定采用Redis。
项目职责:
设计架构升级方案
构建redis高可用架构
集群可行性测试
上线生产环境并入业务逻辑层
编写自动化脚本及项目维护手册
#### 项目五
基于zabbix构建企业级监控平台
项目描述:
根据日常运维具体业务需求,完善公司运维体系现需要对原有监控系统进行升级实现部署zabbix监控系统平台利用zabbix实现监控各种网络参数保证服务器系统的安全运营并提供灵活的通知机制以让系统管理员快速定位/解决存在的问题; 利用zabbix实现对远程服务器/网络状态的监视,数据收集等。
项目职责:
对现有监控进行总结完善zabbix监控系统方案
构建zabbix监控高可用平台
规划监控指标,明确告警媒介
规划通知策略,并编写项目文档
#### 项目六
kubernetes云原生平台构建
项目描述:
随着公司的发展使得业务逐渐的迁移Docker容器上随着容器越来越多为了更方便对应用进行管理在非生产环境构建Kubernetes云原生集群实现对Docker容器的管理因设计到业务逻辑层业务调整故需完成非生产环境的测试确保业务逻辑层所有业务均可正常运行后进行生产环境升级。
项目职责:
非生产环境构建kubernetes云原生集群
生产环境迁移方案定制
测试应用是否可在kubernetes集群运行
编写项目文档和自动化运维脚本