기사 디렉토리
머리말
프로그램이 로그에 기록 된 자신의 정보 중 일부를 수행하기 때문에 로그 수집은, 각각의 프로그램에 의해 수행된다.
journald 및 위해 rsyslog 수집 로그에 사용하고, 어떤 형식으로 저장됩니다. 7 전에 기업은 위해 rsyslog입니다. 7 영업일 모두 후.
journald 폐쇄되지 않습니다.
시스템에 상당한 수정을 위해 설정, 로그를해야합니다.
- 실험 환경
rhel7_node1 : 172.25.254.10
rhel8_node1 : 172.25.254.11
journald
서비스 이름 : systemd-journald.service
[root@rhel7_node1 ~]# systemctl status systemd-journald.service
● systemd-journald.service - Journal Service
Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static; vendor preset: disabled)
Active: active (running) since Mon 2020-03-09 19:10:55 CST; 53min ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Main PID: 3353 (systemd-journal)
Status: "Processing requests..."
Tasks: 1
CGroup: /system.slice/systemd-journald.service
└─3353 /usr/lib/systemd/systemd-journald
Mar 09 19:10:55 rhel7_node1.westos.com systemd-journal[3353]: Runtime journal…).
Mar 09 19:10:55 rhel7_node1.westos.com systemd-journal[3353]: Journal started
Hint: Some lines were ellipsized, use -l to show in full.
제공 명령 journalctl입니다
/ 실행 / 로그 (시스템이 빈 기록합니다 재부팅 할 때마다) : 기본 로그 저장 경로
[root@rhel7_node1 ~]# cd /run/log
[root@rhel7_node1 log]# ls
journal
[root@rhel7_node1 log]# bootctl
System:
Machine ID: 4f72081b06bf47e99ea36241be61e2e4 #机器码,显示当前机器的日志
Boot ID: 15a33520fcfe40d48709fc6faa55a7ba
No suitable data is provided by the boot manager. See:
http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface
http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
for details.
[root@rhel7_node1 journal]# ls
4f72081b06bf47e99ea36241be61e2e4
실험 절차 (사용 journalctl 명령)
-
journalctl
-엔 3 (최근 3 로그)[root@rhel7_node1 journal]# systemctl restart sshd [root@rhel7_node1 journal]# journalctl -n 3 -- Logs begin at Mon 2020-03-09 19:09:58 CST, end at Mon 2020-03-09 20:12:01 CST. -- Mar 09 20:12:00 rhel7_node1.westos.com sshd[10817]: Server listening on :: port 22. Mar 09 20:12:01 rhel7_node1.westos.com polkitd[7090]: Unregistered Authentication Agent for unix-pr Mar 09 20:12:00 rhel7_node1.westos.com systemd[1]: Started OpenSSH server daemon.
-이후 "2020년 2월 13일 17:00"(17시 후 로그를 표시)
[root@rhel7_node1 ~]# journalctl --since "2020-03-10 16:25" -- Logs begin at Tue 2020-03-10 16:22:32 CST, end at Tue 2020-03-10 16:30:01 CST. -- Mar 10 16:25:24 rhel7_node1.westos.com gnome-shell[9919]: JS WARNING: [resource:///org/gnome/shell/ Mar 10 16:25:24 rhel7_node1.westos.com gnome-shell[9919]: JS WARNING: [resource:///org/gnome/shell/ Mar 10 16:25:26 rhel7_node1.westos.com dbus[7066]: [system] Activating via systemd: service name='n ...
-...까지"2020년 2월 13일 17시"(00 ~ 17 디스플레이 로그인)
[root@rhel7_node1 ~]# journalctl --until "2020-03-10 16:22:33" -- Logs begin at Tue 2020-03-10 16:22:32 CST, end at Tue 2020-03-10 16:31:28 CST. -- Mar 10 16:22:32 localhost.localdomain systemd-journal[85]: Runtime journal is using 8.0M (max allow Mar 10 16:22:32 localhost.localdomain kernel: Initializing cgroup subsys cpuset Mar 10 16:22:32 localhost.localdomain kernel: Initializing cgroup subsys cpu Mar 10 16:22:32 localhost.localdomain kernel: Initializing cgroup subsys cpuacct ...
-영형(로그인 디스플레이 제공)
짧은(기본 모드 로그를 표시)[root@rhel7_node1 ~]# journalctl -o short -- Logs begin at Tue 2020-03-10 16:22:32 CST, end at Tue 2020-03-10 16:33:31 CST. -- Mar 10 16:22:32 localhost.localdomain systemd-journal[85]: Runtime journal is using 8.0M (max allow Mar 10 16:22:32 localhost.localdomain kernel: Initializing cgroup subsys cpuset Mar 10 16:22:32 localhost.localdomain kernel: Initializing cgroup subsys cpu Mar 10 16:22:32 localhost.localdomain kernel: Initializing cgroup subsys cpuacct
말 수가 많은(바이트는 모든 로그를 표시)
[root@rhel7_node1 ~]# journalctl -o verbose -- Logs begin at Tue 2020-03-10 16:22:32 CST, end at Tue 2020-03-10 16:36:30 CST. -- Tue 2020-03-10 16:22:32.608315 CST [s=f137873616914c5dae3d6ba6f1bfd010;i=1;b=ea79dda9bc13465f9f8acb PRIORITY=6 _TRANSPORT=driver MESSAGE=Runtime journal is using 8.0M (max allowed 90.9M, trying to leave 136.4M free of 901.7M MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6 _PID=85 _UID=0 _GID=0 _COMM=systemd-journal _EXE=/usr/lib/systemd/systemd-journald _CMDLINE=/usr/lib/systemd/systemd-journald _CAP_EFFECTIVE=5402800cf _SYSTEMD_CGROUP=/system.slice/systemd-journald.service _SYSTEMD_UNIT=systemd-journald.service _SYSTEMD_SLICE=system.slice _BOOT_ID=ea79dda9bc13465f9f8acb8ed43f07b1 _MACHINE_ID=4f72081b06bf47e99ea36241be61e2e4 _HOSTNAME=localhost.localdomain Tue 2020-03-10 16:22:32.608396 CST [s=f137873616914c5dae3d6ba6f1bfd010;i=2;b=ea79dda9bc13465f9f8acb PRIORITY=6 _BOOT_ID=ea79dda9bc13465f9f8acb8ed43f07b1 _MACHINE_ID=4f72081b06bf47e99ea36241be61e2e4
수출(전송 및 백업 이진 형식)
[root@rhel7_node1 ~]# journalctl -o export __CURSOR=s=f137873616914c5dae3d6ba6f1bfd010;i=1;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=170534;t=5a07b __REALTIME_TIMESTAMP=1583828552608315 __MONOTONIC_TIMESTAMP=1508660 _BOOT_ID=ea79dda9bc13465f9f8acb8ed43f07b1 PRIORITY=6 _TRANSPORT=driver MESSAGE=Runtime journal is using 8.0M (max allowed 90.9M, trying to leave 136.4M free of 901.7M ava MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6 _PID=85 ......
JSONJS (출력 포맷)
[root@rhel7_node1 ~]# journalctl -o json { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=1;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=170534; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=2;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=170585; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=3;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=17059c; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=4;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=1705ad; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=5;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=1705b9; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=6;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=1705c7; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=7;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=1705d5; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=8;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=1705e3; { "__CURSOR" : "s=f137873616914c5dae3d6ba6f1bfd010;i=9;b=ea79dda9bc13465f9f8acb8ed43f07b1;m=1705f5;
-피(지정된 수준 로깅 표시)
0 EMERG (심각한 문제가 시스템 로깅)
(정보 시스템 바로 변화) 1 경고
2 치명타 (위험 수준은 시스템이 제대로 작동하지 않는 원인이됩니다)
3 ERR (프로그램 오류)
4 경고 (프로그램을 경고)
(5) 공지 사항 일반 로그 (중요 정보)
(6) 정보 (일반 정보)
7 디버그 (프로그램이 디버깅 정보)[root@rhel7_node1 ~]# journalctl -p err -- Logs begin at Tue 2020-03-10 16:22:32 CST, end at Tue 2020-03-10 16:41:07 CST. -- Mar 10 16:22:54 rhel7_node1.westos.com kernel: piix4_smbus 0000:00:07.3: SMBus Host Controller not Mar 10 16:23:14 rhel7_node1.westos.com smartd[7088]: DEVICESCAN failed: glob(3) aborted matching pa Mar 10 16:23:14 rhel7_node1.westos.com smartd[7088]: In the system's table of devices NO devices fo Mar 10 16:24:10 rhel7_node1.westos.com pulseaudio[10476]: [alsa-source-ES1371/1] alsa-source.c: ALS Mar 10 16:24:10 rhel7_node1.westos.com pulseaudio[10476]: [alsa-source-ES1371/1] alsa-source.c: Mos Mar 10 16:24:10 rhel7_node1.westos.com pulseaudio[10476]: [alsa-source-ES1371/1] alsa-source.c: We Mar 10 16:24:24 rhel7_node1.westos.com spice-vdagent[11460]: Cannot access vdagent virtio channel / ...
-에프 PRIORITY (01 커널 수준이기 때문에 234567 제어 로그 수준이다 참조)
[root@rhel7_node1 ~]# journalctl -F PRIORITY 2 3 4 7 5 6
-에 SSHD (지정된 시청 서비스)
[root@rhel7_node1 ~]# journalctl -u sshd -- Logs begin at Tue 2020-03-10 16:22:32 CST, end at Tue 2020-03-10 16:47:43 CST. -- Mar 10 16:23:33 rhel7_node1.westos.com systemd[1]: Starting OpenSSH server daemon... Mar 10 16:23:35 rhel7_node1.westos.com sshd[7725]: Server listening on 0.0.0.0 port 22. Mar 10 16:23:35 rhel7_node1.westos.com sshd[7725]: Server listening on :: port 22. Mar 10 16:23:35 rhel7_node1.westos.com systemd[1]: Started OpenSSH server daemon.
-디스크 사용량(보기 로그 크기)
[root@rhel7_node1 ~]# journalctl --disk-usage Archived and active journals take up 8.0M on disk.
-진공 크기= 1G (로그 저장 크기 설정 : 일시적으로)
[root@rhel7_node1 ~]# journalctl --vacuum-size=1G Vacuuming done, freed 0B of archived journals on disk.
-진공 시간= 1W (최대 로그 저장 설정 시간 : 임시)
[root@rhel7_node1 ~]# journalctl --vacuum-time=1W Failed to parse vacuum time: 1W
-에프(로그 모니터링)
참고 : 첫 번째이 서비스 ID를 (systemctl -o 상세) 찾을 때 서비스에 대한 로그를 확인해야하고 _SYSTEMD_UNIT 서비스를 찾기 위해 로그의 전체 내용을 표시 한 후 다음 명령을 입력 : journalctl _PID = 10,924 _SYSTEMD_UNIT = sshd.service[root@rhel7_node1 ~]# journalctl _PID=19655 _SYSTEMD_UNIT=sshd.service -- Logs begin at Tue 2020-03-10 16:22:32 CST, end at Tue 2020-03-10 17:01:01 CST. -- Mar 10 16:59:50 rhel7_node1.westos.com sshd[19655]: Server listening on 0.0.0.0 port 22. Mar 10 16:59:50 rhel7_node1.westos.com sshd[19655]: Server listening on :: port 22.
(journald 영구 저장 서비스 로그와) 실험 절차
에서 시스템 기본 로그 :에 / 실행 / 로그 / 저널
시스템을 다시 시작 로그 후 기본 모드는 영구적으로 작업에 대한 전체 로그를 유지 클리어됩니다
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service
은 / var / 로그 / 저널 : 서버가 다시 시작되면, 로그 저장 경로로 개발 될 것이다
테스트 :
1. 전에 위의 단계에 로그를 확인
이 시스템 다시 시작
페이지가 다시 로그 3.
4. 로그를 저장하기 전에 볼이 아닌 수를 만 다시 시작한 후 새로운 로그를 참조
완료되면 다시 5. 다시 시작 시스템은 로그를 보존 할 수 있습니다 볼 수 있습니다
위해 rsyslog
- 서비스 이름 : rsyslog.service
- 로그 저장 :
/ var에 / 로그 / 메시지 번호 시스템 서비스 로그, 일반 정보 서비스 오류
는 / var / 로그 / 보안 # 시스템 인증 정보 로그
는 / var / log / maillog # 시스템 메일 로그
는 / var / 로그 / 크론 # 시스템 타이밍 작업 정보
에서는 /var/log/boot.log # 부팅 시스템 로그 정보 - 프로필 : /etc/rsyslog.conf
실험 절차 (사용자 정의 로그 수집 경로)
1. 수정 구성 파일
정력 /etc/rsyslog.conf
로그인 유형입니다. 로깅 레벨 스토리지 경로
*.* /var/log/westos #把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos #把系统中所有级别的日志存放到westos中,但是除了authpriv不存放到westos中
로그인 유형 :
인증 # 사용자 인증
authPriv로 번호 서비스 인증
크론 # 시간 작업
컨 # 커널 타입
- 메일 메일 #
뉴스 # 시스템 업데이트
사용자 # 사용자
로그 레벨 :
디버그
정보를
공지 사항
워링
ERR
치명타
경고
EMERG의
없음
2. 구현 및 테스트
실험 절차 (로그 수집의 형식을 변경하는 방법)
로그 수집 형식을 정의 (1)
在配置文件中:
30 $template WESTOS, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n" #定义一个名为WESTOS的格式
#WESTOS: 格式名称
#%FORMHOST-IP%:日志来源主机IP
#%timegenerated%: 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行
2. 로그 수집 응용 프로그램 형식
와일드 와일드 카드 authpriv.none은 / var / 로그 / westos;. WESTOS
54 *.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS #将此格式应用到某个记录日志的文件
3. 지우기 원래 로그 파일
[root@rhel7_node1 log]# > /var/log/messages
4. 다시 시작 로그 서비스
[root@rhel7_node1 log]# systemctl restart rsyslog
5. 새로운 로그 형식보기
[root@rhel7_node1 log]# cat /var/log/messages
127.0.0.1 Mar 10 19:45:03 systemd: Stopping System Logging Service...
127.0.0.1 Mar 10 19:45:03 rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="23061" x-info="http://www.rsyslog.com"] exiting on signal 15.
127.0.0.1 Mar 10 19:45:03 systemd: Stopped System Logging Service.
127.0.0.1 Mar 10 19:45:03 systemd: Starting System Logging Service...
127.0.0.1 Mar 10 19:45:03 rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="23120" x-info="http://www.rsyslog.com"] start
127.0.0.1 Mar 10 19:45:03 systemd: Started System Logging Service.
실험 절차 (원격 동기화 로그)
기업에서 관리를 용이하게하기 위해, 우리는 초점을보기로 로그보다는 스테이션 뷰가 필요합니다. 그래서 우리는 호스트에 모든 로그를 저장해야합니다.
실험 환경 :
rhel7_node1 : 끝을 수신 로그로 172.25.254.10 # 저장된 로그는 모두 로그는이 호스트에 저장됩니다
rhel8_node1 : 호스트 rhel7_node에 172.25.254.11 # 보내기 로그를
1. 설정 모든 로그가 rhel7 수신
방화벽 해제
systemctl stop firewalld
네트워크와 높은 효율 요구 사항을 포함하기 때문에이 실험의 UDP 프로토콜과 운영 환경을 선택
vim /etc/rsyslog.conf
15 $ModLoad imudp ##打开日志接受插件
16 ¥UDPServerRun 514 ##指定插件使用接口
서비스를 다시 시작합니다 :
root@rhel7_node1 ~]# systemctl restart rsyslog
쿼리 포트 :
root@rhel7_node1 ~]# netstat -antlupe | grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:* 0 67600 11115/rsyslogd
udp 0 0 :::514 :::* 0 67601 11115/rsyslogd
此时企业7的udp接受端口已经打开
송신 로그 rhel7에 2.rhel8 세트
설정 정보 :
vim /etc/rsyslog.conf
*.* @172.25.254.10
# @ 表示使用udp传输日志
# @@ 表示使用tcp传输日志
# @172.25.254.11 把本机日志用udp方式发送到172.25.254.11主机
서비스를 다시 시작합니다 :
systemctl restart rsyslog
테스트 :
8 rhel7에서
"> /var/log/messages" #清空日志文件以便观察
rhel8에서
logger westos test message #制造日志文件
rhel7 년 8은 생성 된 로그를 볼 수 있습니다
[root@rhel7_node1 log]# cat /var/log/messages
Mar 10 20:41:48 rhel8_node1 root[6352]: westos haha
timedatectl
현재 시스템 시간을보기 :
[루트 @ rhel7_node1 로그] # 개의 timedatectl
지역 시간 : 수요일 2020년 3월 11일 중부 표준시 00시 39분 37초
유니버설 시간 : 화 2020년 3월 10일 세계 협정시 16시 39분 37초 # GMT, 런던 시간
RTC 시간 : 화 2020년 3월 10일 16시 39분 38초 # 하드웨어 시간
시간대 : 아시아 / 상해 (CST, 0800)
가 NTP가 사용 : NO
NTP는 동기화 : NO
TZ 지역에서 RTC : NO
활성화 DST : N- / A
시스템 시간을 설정
timedatectl set-time "2020-02-13 10:41:55"
모든 시간대 디스플레이 시스템
timedatectl list-timezones
시스템 시간대를 설정
timedatectl set-timezone "Asis/Shanghai"
계산 시간 설정 시스템
timedatectl set-local-rtc 0|1 #0表示使用utc时间计算方法(即硬件时间+时区)
#1表示使用local时间计算方式
시간 동기화 서비스
호스트 시스템의 필요성은 많은 시간을 변경하려면 할 때, 하나 하나의 변화 원인 :
서비스 이름 : chronyd.service의
프로필 : /etc/chrony.conf
실험 절차 (동기화 시간이 호스트)
요구 사항 : 시간 소스로 rhel7
rhel8 시간 동기화는 rhel7
rhel7에서 1.
编辑配置文件:
vim /etc/chrony.conf
26 allow 192.168.0.0/24 #允许172.25.254.0.网段主机同步时间
29 local stratum 10 #开启时间同步服务功能并设定级别为10
重启时间同步服务并关闭火墙:
systemctl restart chronyd.service
systemctl stop firewalld
rhel8에서
vim /etc/chrony.conf
3 pool 172.25.254.11 iburst
다시 시작 서비스
systemctl restart chronyd
보기 :
의 rhel8 시간보기 :
[root@rhel8_node1 ~]# date
2020年 03月 10日 星期二 17:00:50 CST
시간의 효과를 확인하기 위해 chronyc 명령을 사용하여
[root@rhel8_node1 ~]# chronyc sources -v
210 Number of sources = 1
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.0.10 3 6 177 56 -862us[ -565us] +/- 23ms #证明已经从企业7上同步过来了时间
추신
journald 응답은 유연한 처리가 빠르며
정확한 위해 rsyslog
이 섹션에서 더 실험!