Azure Monitor에서 Linux 애플리케이션에 대한 성능 카운터 수집
이 문서에서는 특정 애플리케이션에 대한 성능 카운터를 Azure Monitor로 수집하도록 Linux용 Log Analytics 에이전트를 구성하는 방법에 대한 세부 정보를 제공합니다. 이 문서에 포함된 애플리케이션은 다음과 같습니다.
Important
레거시 Log Analytics 에이전트 는 2024년 8월 31일부로 더 이상 사용되지 않습니다. Microsoft에서는 Log Analytics 에이전트에 대한 지원을 더 이상 제공하지 않습니다. Log Analytics 에이전트를 사용하여 Azure Monitor로 데이터를 수집하는 경우 지금 Azure Monitor 에이전트로 마이그레이션하세요.
MySQL
Log Analytics 에이전트를 사용하여 컴퓨터에서 MySQL 서버 또는 MariaDB 서버가 검색되면 MySQL 서버에 대한 성능 모니터링 공급자가 자동으로 설치됩니다. 이 공급자는 성능 통계를 공개하기 위해 로컬 MySQL/MariaDB 서버에 연결합니다. 공급자가 MySQL 서버에 액세스할 수 있도록 MySQL 사용자 자격 증명을 구성해야 합니다.
MySQL 자격 증명 구성
MySQL OMI 공급자가 MySQL 인스턴스의 성능 및 상태 정보를 쿼리하려면, 미리 정의된 MySQL 사용자와 설치되어 있는 MySQL 클라이언트 라이브러리가 필요합니다. 이러한 자격 증명은 Linux 에이전트에 저장된 인증 파일에 저장됩니다. 인증 파일은 MySQL 인스턴스가 수신 대기할 바인딩 주소와 포트를 결정하고 메트릭 수집에 사용할 자격 증명을 지정합니다.
Linux용 Log Analytics 에이전트를 설치하는 동안 MySQL OMI 공급자는 MySQL my.cnf 구성 파일(기본 위치)에서 바인딩 주소 및 포트를 검색하고 MySQL OMI 인증 파일을 부분적으로 설정합니다.
MySQL 인증 파일은 /var/opt/microsoft/mysql-cimprov/auth/omsagent/mysql-auth
에 저장됩니다.
인증 파일 형식
MySQL OMI 인증 파일의 형식은 다음과 같습니다.
[Port]=[Bind-Address], [username], [Base64 encoded Password]
(Port)=(Bind-Address), (username), (Base64 encoded Password)
(Port)=(Bind-Address), (username), (Base64 encoded Password)
AutoUpdate=[true|false]
인증 파일의 항목은 다음 테이블에 설명되어 있습니다.
속성 | 설명 |
---|---|
포트 | MySQL 인스턴스가 수신 대기 중인 현재 포트를 나타냅니다. 포트 0은 뒤에 나오는 속성이 기본 인스턴스에 사용된다는 것을 지정합니다. |
바인딩 주소 | 현재 MySQL 바인딩-주소입니다. |
사용자 이름 | MySQL 서버 인스턴스를 모니터링하는 데 사용되는 MySQL 사용자입니다. |
Base64로 인코딩된 암호 | Base64로 인코딩된 MySQL 모니터링 사용자의 암호입니다. |
자동 업데이트 | MySQL OMI 공급자를 업그레이드할 때 my.cnf 파일의 변경 내용을 다시 검사하고 MySQL OMI 인증 파일을 덮어쓸지 여부를 지정합니다. |
기본 인스턴스
MySQL OMI 인증 파일은 하나의 Linux 호스트에서 여러 MySQL 인스턴스를 쉽게 관리할 수 있도록 기본 인스턴스 및 포트 번호를 정의할 수 있습니다. 기본 인스턴스는 포트 0으로 인스턴스에 의해 표시됩니다. 다른 모든 인스턴스는 다른 값을 지정하지 않는 한 기본 인스턴스에서 설정된 속성을 상속합니다. 예를 들어 포트 3308에서 수신 대기하는 MySQL 인스턴스가 추가되면 기본 인스턴스의 바인딩 주소, 사용자 이름 및 Base64로 인코딩된 암호를 사용하여 3308에서 수신 대기하는 인스턴스를 모니터링합니다. 3308의 인스턴스가 다른 주소에 바인딩되어 있고 동일한 MySQL 사용자 이름 및 암호 쌍을 사용하는 경우 바인딩 주소만 필요하고 다른 속성은 상속됩니다.
다음 표에는 예제 인스턴스 설정이 있습니다.
설명 | 파일 |
---|---|
기본 인스턴스 및 포트 3308의 인스턴스입니다. | 0=127.0.0.1, myuser, cnBwdA== 3308=, , AutoUpdate=true |
기본 인스턴스 및 포트 3308의 인스턴스, 다른 사용자 이름 및 암호입니다. | 0=127.0.0.1, myuser, cnBwdA== 3308=127.0.1.1, myuser2,cGluaGVhZA== AutoUpdate=true |
MySQL OMI 인증 파일 프로그램
MySQL OMI 공급자의 설치에 포함된 것은 MySQL OMI 인증 파일 편집에 사용할 수 있는 MySQL OMI 인증 파일 프로그램입니다. 다음 위치에서 인증 파일 프로그램을 찾을 수 있습니다.
/opt/microsoft/mysql-cimprov/bin/mycimprovauth
참고 항목
omsagent 계정이 자격 증명 파일을 읽을 수 있어야 합니다. omsagent로 mycimprovauth 명령을 실행하는 것이 좋습니다.
다음 테이블에서 mycimprovauth 사용에 대한 구문의 세부 정보를 제공합니다.
연산 | 예제 | 설명 |
---|---|---|
autoupdate false or true | mycimprovauth autoupdate false | 다시 시작 또는 업데이트할 때 인증 파일이 자동으로 업데이트되는지 여부를 설정합니다. |
default bind-address username password | mycimprovauth default 127.0.0.1 root pwd | MySQL OMI 인증 파일에서 기본 인스턴스를 설정합니다. 암호 필드는 일반 텍스트로 입력해야 합니다. MySQL OMI 인증 파일의 암호는 Base 64로 인코딩됩니다. |
delete default or port_num | mycimprovauth 3308 | 기본값 또는 포트 번호로 지정된 인스턴스를 삭제합니다. |
help | mycimprov help | 사용할 명령 목록을 인쇄합니다. |
mycimprov print | 읽기 쉬운 MySQL OMI 인증 파일을 인쇄합니다. | |
update port_num bind-address username password | mycimprov update 3307 127.0.0.1 root pwd | 지정된 인스턴스를 업데이트하거나 인스턴스가 없는 경우 인스턴스를 추가합니다. |
다음 예제 명령은 localhost에서 MySQL 서버의 기본 사용자 계정을 정의합니다. 암호 필드는 일반 텍스트로 입력해야 합니다. MySQL OMI 인증 파일의 암호는 Base 64로 인코딩됩니다.
sudo su omsagent -c '/opt/microsoft/mysql-cimprov/bin/mycimprovauth default 127.0.0.1 <username> <password>'
sudo /opt/omi/bin/service_control restart
MySQL 성능 카운터에 필요한 데이터베이스 권한
MySQL 사용자는 MySQL 서버 성능 데이터를 수집하기 위해 다음 쿼리에 대한 액세스가 필요합니다.
SHOW GLOBAL STATUS;
SHOW GLOBAL VARIABLES:
또한 MySQL 사용자는 다음 기본 테이블에 대한 SELECT 액세스가 필요합니다.
- information_schema
- mysql.
이러한 권한은 다음 grant 명령을 실행하여 부여할 수 있습니다.
GRANT SELECT ON information_schema.* TO ‘monuser’@’localhost’;
GRANT SELECT ON mysql.* TO ‘monuser’@’localhost’;
참고 항목
MySQL 모니터링 사용자에게 권한을 부여하려면, 권한을 부여하는 사용자에게 'GRANT option' 권한은 물론 부여되는 권한에 대한 권한이 있어야 합니다.
성능 카운터 정의
Azure Monitor에 데이터를 보내도록 Linux용 Log Analytics 에이전트를 구성하고 나면 수집할 성능 카운터를 구성해야 합니다. 다음 표의 카운터와 함께 Azure Monitor의 Windows 및 Linux 성능 데이터 원본에 제공되는 절차를 사용합니다.
개체 이름 | 카운터 이름 |
---|---|
MySQL Database | 디스크 공간(바이트) |
MySQL Database | 테이블 |
MySQL Server | 중단된 연결 Pct |
MySQL Server | 연결 사용 Pct |
MySQL Server | 디스크 공간 사용(바이트) |
MySQL Server | 전체 테이블 검색 Pct |
MySQL Server | InnoDB 버퍼 풀 적중 Pct |
MySQL Server | InnoDB 버퍼 풀 사용 Pct |
MySQL Server | InnoDB 버퍼 풀 사용 Pct |
MySQL Server | 키 캐시 적중 Pct |
MySQL Server | 키 캐시 사용 Pct |
MySQL Server | 키 캐시 쓰기 Pct |
MySQL Server | 쿼리 캐시 적중 Pct |
MySQL Server | 쿼리 캐시 잘라내기 Pct |
MySQL Server | 쿼리 캐시 사용 Pct |
MySQL Server | 테이블 캐시 적중 Pct |
MySQL Server | 테이블 캐시 사용 Pct |
MySQL Server | 테이블 잠금 경합 Pct |
Apache HTTP 서버
omsagent 번들이 설치된 경우 컴퓨터에서 Apache HTTP 서버가 감지되면, Apache HTTP 서버용 성능 모니터링 공급자가 자동으로 설치됩니다. 이 공급자는 성능 데이터에 액세스하기 위해 Apache HTTP 서버에 로드되어야 하는 Apache 모듈에 의존합니다. 모듈은 다음 명령을 사용하여 로드될 수 있습니다.
sudo /opt/microsoft/apache-cimprov/bin/apache_config.sh -c
Apache 모니터링 모듈을 언로드하려면 다음 명령을 실행합니다.
sudo /opt/microsoft/apache-cimprov/bin/apache_config.sh -u
성능 카운터 정의
Azure Monitor에 데이터를 보내도록 Linux용 Log Analytics 에이전트를 구성하고 나면 수집할 성능 카운터를 구성해야 합니다. 다음 표의 카운터와 함께 Azure Monitor의 Windows 및 Linux 성능 데이터 원본에 제공되는 절차를 사용합니다.
개체 이름 | 카운터 이름 |
---|---|
Apache HTTP 서버 | 근무 중인 작업자 |
Apache HTTP 서버 | 유휴 작업자 |
Apache HTTP 서버 | Pct 근무 중인 작업자 |
Apache HTTP 서버 | 총 Pct CPU |
Apache 가상 호스트 | 분당 오류 - 클라이언트 |
Apache 가상 호스트 | 분당 오류 - 서버 |
Apache 가상 호스트 | 요청당 KB |
Apache 가상 호스트 | 초당 요청 KB |
Apache 가상 호스트 | 초당 요청 |
다음 단계
- Linux 에이전트에서 성능 카운터를 수집합니다.
- 데이터 원본 및 솔루션에서 수집한 데이터를 분석하는 로그 쿼리에 대해 알아봅니다.