목록IT (22)
Endless Motivation
Ansible Playbook은 사실 1개의 yaml 스크립트만 작성해도 구동은 가능하지만 프로젝트의 규모가 커지면 아래와 같은 디렉토리 구조로 관리하게 된다 main.yml : 프로젝트의 최상단 /roles : 프로젝트 내 수행할 작업에 대한 sub 디렉토리 ㄴ /role_name1 : 하위 role의 이름 ㄴ /tasks : role 안에서 수행할 task들이 위치한 디렉토리 ㄴ main.yml : tasks 디렉토리 밑의 파일은 기본적으로 main.yml을 우선 참조한다. ㄴ sub_task1.yml ㄴ ... ㄴ /vars : role에서 참조할 변수들을 작성하는 디렉토리 ㄴ /files : role에서 참조할 기타 파일들이 위치한 디렉토리 ㄴ /handler : task 수행 후 별도로 실행해야..
csv 파일을 elasticsearch에 넣고 Kibana로 표현하는 방법은 여러가지가 있는데 여기서는 직접 해 본 3가지 방법을 정리한다. 1. Kibana Data Visualizer 기능 사용 csv가 100mb 이하라면 키바나의 기본 제공 기능으로도 간단하게 Elasticserach에 데이터를 밀어넣을 수 있다. 100mb를 넘으면 아래 방법을 사용한다. 키바나 메뉴에서 Machine Learning 클릭 -> Select an Index pattern에서 csv 파일을 올리면 스스로 field 분석까지 끝내고 인덱스 패턴까지 만들어준다. 2. logstash 사용 Logstash를 사용하여 data pipeline을 구축하는 방법도 있다. 실시간 데이터라면 Filebeat을 사용하거나 logst..
서버 구성 조건 - OS = CentOS 8 - 내부망 안에 있는 클라이언트는 ELK 호스트로 원격 접속이 가능해야 한다. - ElasticSearch의 data 저장 영역 별도 지정(/DATA) 1. ElasticSearch 설치 - /etc/yum.repos.d/ 에 elasticsearch repo 파일 작성 [elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md..
개인용 서버를 만들어 볼 겸 Windows 10 로컬에 vmware workstation player를 설치한 다음 CentOS 7.6 인스턴스를 생성하고 네트워크 세팅까지 해보았다. 1. vmnetcfg 설치 vmware workstation pro에는 기본으로 네트워크 어댑터 설정 툴이 제공되지만 무료 버전인 player는 따로 찾아서 설치를 해야한다. 프로그램 실행파일은 구글에서 검색하면 쉽게 찾을 수 있으며 vmplayer가 설치된 경로에 위치시킨다. (기본 경로는 C:\Program Files\VMware\VMware Player) 주의할 점으로 vmplayer 버전과 맞는 실행파일을 다운받아야 하는데 그렇지 않으면 프로시져 실행부터 오류가 발생한다. 관리자 권한으로 실행하면 다음과 같이 네트워..
1. ifconfig로 이더넷 이름, IP 할당 여부 확인 - ifconfig 명령어 실행이 불가능한 경우 ip a 또는 yum install net-tools 2. Centos7의 경우 기본 이더넷이 ens33으로 표기 3. ens33에 ip가 나오지 않는 경우 /etc/sysconfig/network-script/ifcfg-ens33 수정 - onboot=yes로 수정 4. system network restart로 네트워크 재시작
#include #include #include #include #include #include using namespace std; int days; int work[100]; int pay[100]; int max = 0; int f(int d, int sum) { if (d > days + 1) { return 0; } else if (d == days +1 ) { return sum; } return std::max(f(d + 1, sum), f(d + work[d], sum + pay[d])); } int main() { ifstream in("in.txt"); in >> days; for (int t = 1; t > work[t] >> pay[t]; } cout