Устранение неполадок с последовательностями runbook

Установка PHP SELECTOR

PHP Selector — компонент CloudLinux и но позволяет каждому пользователю выбрать версии PHP и модуль исходя из своих потребностей. PHP Selector требуется аккаунт для CageFS чтобы иметь возможность работать.

Установка PHP Selector предполагает, что у вас уже есть CageFS & LVE

Установка различных версий PHP и модулей:

$ yum groupinstall alt-php

Обновление CageFS и LVE менеджер с поддержкой PHP Альтернатив (Alternatives):

$ yum update cagefs lvemanager

И запускаем для всех ребилд php-ini:

$ cagefsctl –rebuild-all-php-ini

Тема «Включить cagefs для пользователей CPanel» подошла к завершению.

Использование pexpect и python в Unix/Linux

Давайте рассмотрим примеры. Создадим питон-скрипт:

$ cat python_pexpect.py
# This connects to the openbsd ftp site and
# downloads the recursive directory listing.
import pexpect
child = pexpect.spawn ('ftp ftp.linux-notes.org')
child.expect ('Name .*: ')
child.sendline ('anonymous')
child.expect ('Password:')
child.sendline ('[email protected]')
child.expect ('ftp> ')
child.sendline ('cd pub')
child.expect('ftp> ')
child.sendline ('get some_file.gz')
child.expect('ftp> ')
child.sendline ('bye')

Простой скрипт, но с использованием pexpect — выглядит внушительно!

Вот еще другой скрипт:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pexpect

switch_ip = "10.0.0.1"
switch_un = "user"
switch_pw = "s3cr3t"
switch_enable_pw = "m0r3s3cr3t"
port = "Gi2/0/2"
vlan = 300

try:
  try:
    child = pexpect.spawn('ssh %s@%s' % (switch_un, switch_ip))
    if verbose:
        child.logfile = sys.stdout
    child.timeout = 4
    child.expect('Password:')
  except pexpect.TIMEOUT:
    raise OurException("Couldn't log on to the switch")

  child.sendline(switch_pw)
  child.expect('>')
  child.sendline('terminal length 0')
  child.expect('>')
  child.sendline('enable')
  child.expect('Password:')
  child.sendline(switch_enable_pw)
  child.expect('#')
  child.sendline('conf t')
  child.expect('\(config\)#')
  child.sendline('interface %s' % (port))
  o = child.expect()
  if o != 0:
      raise Exception("Unknown switch port '%s'" % (port))
  child.sendline('switchport access vlan %s' % (vlan))
  child.expect('\(config-if\)#')
  child.sendline('no shutdown')
  child.expect('#')
  child.sendline('end')
  child.expect('#')
  child.sendline('wr mem')
  child.expect('')
  child.expect('#')
  child.sendline('quit')
except (pexpect.EOF, pexpect.TIMEOUT), e:
    error("Error while trying to move the vlan on the switch.")
    raise

Как-то так.

У меня на этом все, статья «Установка/Использование pexpect и python в Unix/Linux» завершена.

Настройка grafana в Unix/Linux

Установленная grafana, будет работать — http://your_host_or_IP:3000, например как это можно видеть у меня:

Первый вход в grafana

Вводим логин и пароль ( для первого входа используйте admin/admin) и попадаем в дашборд. Его нужно настроить под себя. Для примера, я создам проект c Prometheus и построю ( добавлю) графики. И так, нажимаем на «Data Sources» и добавляем ( заполняем) строки, у меня это выглядит так:

Добавление Prometeus в Grafana

Как все заполнили, нажимаем на «Add». Собственно потом добавляем график и все!

PS: Но для этого нужно иметь уже установленный protheus сервер.

Настройка прокси-сервера для Grafana

Использовать 3000-й порт, — это нормально, но удобно юзать 80-й/443-й и для этого я буду использовать nginx в качестве прокси сервера. Установка описана вот тут:

Открываем конфиг:

# vim /etc/nginx/conf.d/grafana.conf

И прописываем:

server {
 	listen 80;
 	server_name grafana.local;
 	access_log /var/log/nginx/access-grafana.log;
 	error_log /var/log/nginx/error-frafana.log info;
	location / {
		#proxy_set_header X-WEBAUTH-USER $remote_user;
		proxy_pass http://127.0.0.1:3000;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
        	proxy_set_header Connection 'upgrade';
		proxy_set_header   Host $host;
		proxy_cache_bypass $http_upgrade;
		proxy_set_header   X-Real-IP        $remote_addr;
            	proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
		proxy_max_temp_file_size 0;
		}
}

Вот и вся установка. Перезапускаем nginx + grafana.

Установка плагинов для  grafana

Самый простой способ установки плагинов — использовать grafana-cli который идет в комплекте с grafana. После внесения любых изменений (добавления, удаление плагинов), необходимо перезапустить grafana-server.

Все установленные плагины лежат в /var/lib/grafana/plugins. Можно переопределить каталог в котором будет работать grafana-cli, указав флаг «-pluginsDir».

И так, чтобы посмотреть список доступных плагинов, используйте команду:

$ grafana-cli plugins list-remote

Установите последнюю версию плагина:

$ grafana-cli plugins install <plugin-id>

Чтобы установить конкретную версию определенного плагина, используйте:

$ grafana-cli plugins install <plugin-id> <version>

Чтобы просмотреть какие плагины уже установлены, выполните:

$ grafana-cli plugins ls

Обновить все установленные плагины можно так:

$ grafana-cli plugins update-all

Или, если нужно обновить конкретный, то используйте:

$ grafana-cli plugins update <plugin-id>

Чтобы удалить определенный плагин, используйте следующую команду:

$ grafana-cli plugins remove <plugin-id>

На этом у меня все, статья «Установка grafana в Unix/Linux» завершена.

Установка terraform в Unix/Linux

Установка крайне примитивная и я описал как это можно сделать тут:

Вот еще полезные статьи по GCP + Terrafrom:

Так же, в данной статье, я создал скрипт для автоматической установки данного ПО. Он был протестирован на CentOS 6/7, Debian 8 и на Mac OS X. Все работает должным образом!

Чтобы получить помощь по использованию команд, выполните:

$ terraform --help
Usage: terraform   <command> 

The available commands for execution are listed below.
The most common, useful commands are shown first, followed by
less common or more advanced commands. If you're just getting
started with Terraform, stick with the common commands. For the
other commands, please read the help and docs before usage.

Common commands:
    apply              Builds or changes infrastructure
    console            Interactive console for Terraform interpolations
    destroy            Destroy Terraform-managed infrastructure
    env                Workspace management
    fmt                Rewrites config files to canonical format
    get                Download and install modules for the configuration
    graph              Create a visual graph of Terraform resources
    import             Import existing infrastructure into Terraform
    init               Initialize a Terraform working directory
    output             Read an output from a state file
    plan               Generate and show an execution plan
    providers          Prints a tree of the providers used in the configuration
    push               Upload this Terraform module to Atlas to run
    refresh            Update local state file against real resources
    show               Inspect Terraform state or plan
    taint              Manually mark a resource for recreation
    untaint            Manually unmark a resource as tainted
    validate           Validates the Terraform files
    version            Prints the Terraform version
    workspace          Workspace management

All other commands:
    debug              Debug output management (experimental)
    force-unlock       Manually unlock the terraform state
    state              Advanced state management

Приступим к использованию!

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: