首页 文章 精选 留言 我的

精选列表

搜索[linux],共10000篇文章
优秀的个人博客,低调大师

Linux自学笔记——日志服务之rsyslog

日志:历史事件日志 历史事件: 时间,事件 时间级别(日志级别):事件的关键性程度; 事件:系统引导启动、应用程序启动、应用程序尤其是服务类应用程序运行过程中的一些事件: 系统日志服务: syslog: syslogd:system klogd:kernel 事件格式较为简单时,可统一由syslog进行记录: 事件产生的日期时间 主机 进程[pid]:事件内容 支持C/S架构:可通过UDP或TCP协议提供日志记录服务; rsyslog: rsyslogd: 特性: 多线程; UDP,TCP,SSL,TLS,RELP; 存储日志信息于mysql、pgsql、oracle等数据管理系统; 强大的过滤器,实现过滤日志信息中任何部分的内容; 自定义输出格式; Elk stack:elasticsearch,logstash,kibana rsyslog日志收集器中的术语: facility:设施,从功能或程序上对日志收集进行分类: auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,local0-local7,syslog priority:优先级,日志级别 debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic) 指定级别: :所有级别 None:没有级别; priority:此级别以高于此级别的所有级别; =priority:仅此级别; …… 程序环境: 主程序:rsyslogd 主配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/.conf 服务脚本(centos6):/etc/rc.d/init.d/rsyslog Unit File(centos7):/usr/lib/system/system/rsyslog.service 配置文件格式rsyslog.conf 主要由三部分组成: MODULES GLOBAL DRICTIVES RULES RULES: facilty.priority targetbr/> target: 文件:记录日志事件于指定的文件中;通常应该位于/var/log目录下;文件路径之前的“-”表示异步写入; 用户:将日志事件通知给指定的用户;是通过将信息发送给登录到系统上的用户的终端进行的; 日志服务器:@host,把日志送往指定的服务器主机; Host:即日志服务器地址,监听在tcp或udp协议的514端口以提供服务; 管道:| COMMAND 其他日志文件: /var/log/wtmp:当前系统成功登录系统的日志;需要使用last命令查看 /var/log/btmp:当前系统尝试登录系统失败相关的日志;需要使用lastb命令查看 Lastlog:显示当前系统上的所有用户最近一次登录系统的时间; /var/log/dmesg:系统引导过程中的日志信息;也可以使用dmesg命令进行查看; Rsyslog服务器: 编辑配置文件/etc/rsyslog.conf,启用一下选项即可启用rsyslog服务器; Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 示例:将日志记录在mysql中,以下为大致的步骤: 1.于mysql服务器:准备好mysql服务器,创建用户,授权对syslog数据库拥有全部的访问权限; 2.于rsyslog主机:安装rsyslog-mysql程序包; 3.于rsyslog主机:通过导入createDB.sql脚本创建依赖到的数据库及表; mysql -uUSER -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql 4.配置rsyslog使用ommysql模块 MODULES #### $ModLoad ommysql RULES #### Facility.priority :ommysql:DBHOST,DB,DBUSER,DBUSERPASSWORD 注意:重启rsyslog服务; 5.Web展示接口:loganalyzer 1) 配置lamp Httpd,php,php-mysql,php-gd 2) 安装loganalyzer #tar xf loganalyzer-3.6.5.tar.gz #cp –r loganalyzer-3.6.5/src /var/www/html/loganalyzer #cp –r loganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer/ #cd /var/www/html/loganalyzer/ #chmod +x *.sh #./configure.sh #./secure.sh #chmod 666 config.php 测试,通过url访问; 演示: 日志服务器:192.168.19.134 测试主机:192.168.19.138 Mysql主机:192.168.19.138 启用服务器功能; 启动rsyslog服务,并测试端口; 测试在另一台主机上编辑/etc/rsyslog.conf,将target指向此台日志服务器的地址; 1) 编辑19.138主机上的rsyslog的主配置文件; 2) 重启服务并执行一个安装程序; 3) 在日志服务器上测试是否有日志; 记录日志于mysql中; 1) 授权用户对Syslog数据库的全部访问权限; Note:在这里除了要授权本机的权限,还要授权,rsyslog主机访问mysql数据库的权限,否则,远程访问mysql将失败; 2) 在rsyslog主机上安装rsyslog-mysql程序包; 3) 在rsyslog主机上通过导入createDB.sql脚本创建依赖到的数据库及表; 4) 配置rsyslog使用ommysql模块; Note:重启rsyslog服务; 5) 测试; 在测试主机上安装php,php-mysql,查询mysql服务器数据库Syslog表中的内容; Web展示接口:loganalyzer 1) 配置lamp组合 Httpd,php,php,mysql,php-gd; 2) 安装loganalyzer a. 解压; b. 复制相关文件至/var/www/html目录; c. 更改.sh结尾文件权限; d. 执行脚本; e. Config.php文件权限修改; f. 测试访问; 访问页面如下: 确保config.php权限可写: Step7,创建数据源,按如下填写: 进入页面,showevents选项可以查看日志; 本文转自 claude_liu 51CTO博客,原文链接:http://blog.51cto.com/claude666/2051737,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux服务器篇------DNS(1)

概述:DNS工作在OSI七层参考模型中的应用层,监听在TCP/UDP的53端口,全球一共有13个根节点DNS服务器。由于对于当前的IPv4对人们而言就很难记忆,而IPv6正在迅速的蔓延,所以DNS是Internet的一项核心服务;DNS的工作采用的是分层结构,不用的DNS服务器负责着不同的域,而整个域名空间的层次结构类似一个倒置的树,在域名层次结构中,每一层称作为一个域,每一个域都有一个域名,域又可以进一步划分成子域,最高层是根,最底层是主机。 查询分类:递归查询:发起一次请求就可以得到结果。迭代查询:发起n次请求后才可以得到结果。DNS查询内容分为: 正向查询:IP-->FQDN反向查询:FQDN-->IP 解析流程:Client:缓存-->hosts-->dnsServer:1.如果查询请求是本机所负责区域中的数据的话,要通过查询区域数据文件返回结果。 2.如果查询请求不是本机所负责的区域中的数据的话,就查询缓存。 3.如果缓存中没有答案,则向根发起查询请求。 DNS服务器类型:主DNS---master辅助DNS---slave转发器---forward缓存服务器 DNS资源记录类型:●SOA:起始授权记录,在一个区域内必须是唯一的,定义了区域的全局参数 ●NS:名称服务器(name server),记录某个区域的授权服务器●MX:邮件交换器(mail exchanger) ●CNAME:别名记录,也被成为规范名字 ●A:正向查找记录 ●PTR:反向查找记录 特征:安装包为:bind.i386运行的进程:named服务的协议类型:dns配置文件:/etc/named.conf区域文件(工作目录):/var/named/注:全局配置文件和工作目录中的区域配置文件的属组全部应该是"named" 全局配置文件书写格式:/etc/named.confoptions {###options 用于指定BIND服务参数 directory "/var/named"; ###指定其工作目为"/var/named"}; zone "." IN { ###定义BIND所管辖的区域 type hint; ###类型为hint,只有根的类型为hint file "named.ca"; ###指定区域配置文件名,此处的"named.ca"为固定写法,这里的路径都是相对路径,相对于options块中的directory}; zone "localhost" IN { ###定义localhost区域 type master; ###类型为master file "localhost.zone; ###区域文件名。redhat中通常将其命名为localhost.zone}; zone "0.0.127.in-addr-arpa" IN { ###定义反向区域,将IP地址的所在的网段倒置写,其中".in-addr-arpa"是固定写法 type master; ###类型为master file "named.local"; ###区域文件名。redhat中通常将其命名为named.local}; 注:在全局配置文件中,除了花括号的左边,其他的新行全部都要使用分号";"结尾 区域配置文件的书写格式:在BIND中定义资源记录的基本格式如下:[名称] [TTL] [网络类型] 资源记录类型 数据名称:指资源记录引用的对象名,可以是主机也可以是域名,对象名可以是相对名称或完整名称,安正名称必须使用"."结束。如果连续的资源记录是同一个对象名,则第一条资源记录后的资源记录可以省略对象名。TTL:指定资源记录存放在告诉缓存中的时间。网络类型:指网络类型,通常为"IN"资源类型:说明资源记录的类型,通常有"SOA NS MX CNAME A PTR",一般SOA记录应为整个区域文件的第一行,NS记录第二行,其他记录可任意排列。●SOA:区域名称 记录类型 SOA 主域名服务器 管理员邮件地址 (序列号 刷新间隔 重试间隔 过期间隔 TTL)序列号:最多为十位,一般用时间+版本号刷新时间:指辅助服务器请求主服务器同步的等待时间重试时间:辅助服务器在请求失败后等待多长时间重试过期时间:当这个时间到期后,辅助服务器还无法于主服务器进行区域传输,则辅助服务器会把它的本地数据当作不可靠数据TTL:区域的默认生存时间和缓存是否应答名称查询的最大间隔●NS:NS后面一定有要跟上一个A记录区域名称 TTL IN NS FQDN ●MX:只出现在正向查找区域文件中,后面也要跟上一个A记录区域名 TTL IN MX 优先级(0-99) 邮件服务器的A记录 ●CNAME:别名 TTL IN CNAME 对应A记录 ●A:FQDN TTL IN A IP地址 ●PTR:IP地址 TTL IN PTR FQDN 编辑全局配置文件:/etc/named.conf options{ directory"/var/named"; }; zone"."IN{ typehint; file"named.ca"; }; zone"localhost"IN{ typemaster; file"localhost.zone"; }; zone"0.0.127.in-addr.arpa"IN{ typemaster; file"named.local"; }; zone"magedu.com"IN{ typemaster; file"magedu.com.zone"; }; zone"16.172.in-addr.arpa"IN{ typemaster; file"172.16.zone"; }; 编辑对应的区域文件"/var/named/named.ca" ;<<>>DiG9.3.6-P1-RedHat-9.3.6-4.P1.el5<<>>-tNS. ;;globaloptions:printcmd ;;Gotanswer: ;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:52493 ;;flags:qrrdra;QUERY:1,ANSWER:13,AUTHORITY:0,ADDITIONAL:8 ;;QUESTIONSECTION: ;.INNS ;;ANSWERSECTION: .515139INNSg.root-servers.net. .515139INNSh.root-servers.net. .515139INNSi.root-servers.net. .515139INNSj.root-servers.net. .515139INNSk.root-servers.net. .515139INNSl.root-servers.net. .515139INNSm.root-servers.net. .515139INNSa.root-servers.net. .515139INNSb.root-servers.net. .515139INNSc.root-servers.net. .515139INNSd.root-servers.net. .515139INNSe.root-servers.net. .515139INNSf.root-servers.net. ;;ADDITIONALSECTION: a.root-servers.net.603239INA198.41.0.4 a.root-servers.net.603239INAAAA2001:503:ba3e::2:30 b.root-servers.net.603240INA192.228.79.201 e.root-servers.net.603220INA192.203.230.10 f.root-servers.net.603220INA192.5.5.241 f.root-servers.net.603220INAAAA2001:500:2f::f m.root-servers.net.603244INA202.12.27.33 m.root-servers.net.603244INAAAA2001:dc3::35 也可已使用命令: #dig -t NS . > /var/named/named.ca 编辑对应的正向解析区域文件"/var/named/localhost.zone" $TTL600 @INSOAlocalhost.admin.localhost.( 2012030601 20M 5M 5D 1D) localhost.INNSlocalhost. localhost.INA127.0.0.1 编辑对应的反向解析区域文件"/var/named/named.local" $TTL600 @INSOAlocalhost.admin.localhost.( 2012030601 20M 5M 5D 1D) @INNSlocalhost. 1INPTRlocalhost. 编辑对应的正向解析区域文件"/var/named/magedu.com.zone" $TTL600 $ORIGINmagedu.com. @INSOAdns.magedu.com.admin.magedu.com.( 2012030701 20M 5m 5D 1D) INNSdns INNSns mailINMX10mail dnsINA172.16.100.1 nsINA172.16.100.1 mailINA172.16.0.1 编辑对应的反向解析区域文件"/var/named/172.16.zone" $TTL600 @INSOAdns.magedu.com.admin.magedu.com.( 2012030701 20M 5m 5D 1D) INNSdns INNSns 1.100INPTRdns.magedu.com 1.100INPTRns.magedu.com 0.1INPTRmail.magedu.com 到此记得将这些文件的属组修改为named,之后DNS的初始配置就完成了! #chown :named /var/named/* 本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/798875,如需转载请自行联系原作者

优秀的个人博客,低调大师

ECS Linux开启swap(虚拟内存)

由于开启swap分区会导致硬盘IO性能下降,因此阿里云服务器初始状态未配置swap,如果某些应用需要开启swap分区,可以采用如下方法增加: 1、创建用于交换分区的文件: #dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block 注:block_size、number_of_block 大小可以自定义,比如bs=1M count=1024 代表设置1G大小swap分区,count=n 是仅仅处理n块数据后就不再工作了 dd if=/dev/zero of=/mnt/swapbs=1024 count=1038336(这里以1GB为例) 2、设置交换分区文件: #mkswap /mnt/swap 3、激活swap文件: #swapon /mnt/swap 如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a 或者直接删除。 4、查看一下swap是否正确: /sbin/swapon -s 5、设置开机时自启用swap分区: 需要修改文件/etc/fstab中的swap行。 添加 /mnt/swap swap swap defaults 0 0 也可以执行如下命令,感觉这样更方便 :echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab 注:/mnt/swap 路径可以修改,可以根据创建的swap文件具体路径来配置。 6、设置后可以执行free -m命令查看效果。 顺便附上DD命令的参数介绍: dd命令 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。 语法:dd [选项] if =输入文件(或设备名称)。 of =输出文件(或设备名称)。 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。 bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs) cbs = byte 一次转换bytes字节。 count=blocks 只拷贝输入的blocks块。 本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1754579如需转载请自行联系原作者 qianghong000

优秀的个人博客,低调大师

linux 程序包管理3 yum

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 1.yum程序包前端管理工具 文件服务器(共享rpm包)通过yum所支持的文件共享机制将各rpm包通过文件服务共享 repository仓库 1.各rpm包 2.依赖关系等元数据文件,程序包安装后所生成的文件列表 yum客户端 1.配件文件:指定各可用的yum仓库/etc/yum.repos.d/*.repo 2.缓存元数据:yum会到各可用yum仓库获取元数据,并缓存至本地 3.分析元数据 4.执行具体操作 客户端配置文件:指定对应服务的路径访问方式 ftp:// http:// nfs: file:// yum命令格式 yum[option]COMMAND yum配件文件 要使用yum管理应用程序,首先得配置可用的yum仓库,保存在配置文件中 /etc/yum.conf /etc/yum.repos.d/*.repo 配置文件格式:类似windows的ini配置文件 [main]主配置段 [repo]仓库配置 [repo_ID] name=string baseurl=仓库访问路径 enable={1|0} gpgcheck={1|0} gpgkey=公钥文件(可在本地和服务器检查) cost=2000定义仓库开销,默认为1000,开销越小将越优先使用 yum的各命令 repolist列出所有可用的yumrepo[all|enable|disabled] clean[all|packages|metadata|expire-cache|rpmdb|plugins]清理缓存 list[all|installd\available]列出所有rpm包,已安装的包,有效的包 infopackage_name列出包的描述信息 grouplist列出所有包组 groupinfo"packages_group_name"显示包组信息 installpackages_name安装指定程序包 reinstallpackages_name重新安装 check-update检查可升级的包 updatepackages_name升级指定的包 erase|removepackages_name删除包 whatprovides|providesfile查询某个文件由哪个安装生成 downgradepackages_name降级 groupinstall"group_name"安装指定的包组 groupremove"group_name"卸载指定的包组 安装本地包组 install/pagckage_file 手动禁止检查来源合法性及包完整性--nogpgcheck eg:yuminstall/tmp/zsh-2.3.1-2.el6.x86_64.rmp--nogpgcheck Centos5常用的开发包组为DevelopmentTools和Developmentlibraties Centos6常用的开发包组为DevelopmentTools和ServerPlatformDevelopment 运行gcc-v查看gccversion 三个跟开发相关的包组 DesktopPlatformDevelopment图形程序时安装 ServerPlatformDevelopment DevelopmentTools yum配置可用的4个宏 $releaser程序的版本,对yum而言指的是redhat-release版本,只替换为主版本号, 如redhat6.5则替换为6 $arch系统架构 $basearch系统基本架构,如i686,i586基本架构为i386 $YUM0-9在系统中定义的环境变量,可在yum中使用 获取当前系统相应宏替换结果的方式 python >>>importyumpprint >>>yb=yum.YumBase() >>>pprint.pprint(by.conf.yumvar,width=1) yumrepository文件服务器 repodata/ repomd.xml 本文转自wanglm51051CTO博客,原文链接:http://blog.51cto.com/studyit2016/1791982 ,如需转载请自行联系原作者

优秀的个人博客,低调大师

第一阶段Linux作业

1、创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录; 首先创建一个10GB的分区 创建文件类型为EXT4,并格式化 创建文件data,并将文件系统EXT4的分区/dev/sdb1的标签设备为/data # mkdir /data # e2label /dev/sdb1 /data 将“/dev/sdb1 /data ext4 defaults 0 0”将这一行加入到/etc/fstab当中 2、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行; "*":在此处代表匹配0或者多个跟在空白字符后面; "$":行尾定位符,匹配所有满足前面条件的所有的行 3、添加用户nginx、zabbix、tomcat、nologin以及hadoop用户(nologin用户的shell/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行; 利用命令“useradd”添加用户nginx,zabbix,tomcat,nologin,hadoop 利用命令“chsh -s”命令修改用户nologin的shell为“/sbin/nologin”, 4、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行; 5、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名(注意是目录名,而非目录路径); # echo "/mnt/sdc" | egrep -o "[^/]+/?$" | cut -d"/" -f1 # echo "/mnt/sdc" | egrep "[^/]+/?$" | cut -d"/" -f2 6、查找/usr目录下不属于root、bin或hadoop的所有文件; # find /usr -not -user root -a -not -user bin -a -not -user hadoop # find /usr -not \( -user root -o -user bin -o -user hadoop \) 7、某天系统被入侵了,黑客在你系统下留下木马文件: 1) 现需要查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件; 2). 另外,需要查找/etc目录下大于20k且类型为普通文件的所有文件; 8、创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件。 1.创建目录;2.创建组;3.修改目录属组;4.修改写权限;5.6.添加用户到组; 运行结果: 本文转自 Nico_Lv 51CTO博客,原文链接:http://blog.51cto.com/nearlv/1728813,如需转载请自行联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册