しがないインフラエンジニアLOG

インフラエンジニアとしての諸々

Serposcopeインストールメモ

今回したこと

Serposcopeインストールメモ

なぜやろうとおもったか

仕事の関係でSerpoScopeをインストールする機会があったのでメモ。

前提

AWS/EC2

1. Java8インストール/切り替え

# yum install java-1.8.0-openjdk-devel 
# alternatives --config java
# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

2.serposcopeインストール手順

# mkdir /var/project/serposcope
# cd /var/project/serposcope
# wget https://serposcope.serphacker.com/download/2.6.0/serposcope-2.6.0.jar
# /usr/bin/java -jar /var/project/serposcope/serposcope-2.6.0.jar

3. デーモン化対応

# yum install supervisor
# chkconfig --list | grep supervisord
# chkconfig supervisord on
# vi /etc/supervisord.conf
* 末尾に追加。
    [program:serposcope]
    directory=/root/serposcope/
    command=/usr/bin/java -jar /var/project/serposcope/serposcope-2.6.0.jar
    numprocs=1
    autostart=true
    autorestart=true
    user=root
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/serposcope.log
# service  supervisord restart
# supervisorctl status *こちらにて確認可能

最後に

検索順位チェックツール「Serposcope」のインストールメモでした。

KIBANAインストールメモ

今回したこと

KIBANAインストールメモ

なぜやろうとおもったか

ElasticSearchに突っ込んだデータを参照するため。

前提

・ElasticSearchのリポジトリが登録済みであること。

1. インストール

# yum install kibana.x86_64

2.起動設定

# chkconfig --add kibana

3. 起動

# service kibana start

最後に

メモすることのほどでもないがElasticSearchの記事を書いたついでにメモとして記載。

ElasticSearch導入メモ(CentOS6.9)

今回したこと

ElasticSearch導入についての手順

なぜやろうとおもったか

自宅環境にログ収集用のElasticSearchを構築した際にはまってのでメモ。

前提

・ CentOS6.9(minimalインストール) ・iptable/selinux disable

1. 事前準備

# yum update
# yum install java-1.8.0-openjdk.x86_64
# vi ~/.bashrc
exports JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86-64
# alternatives --config java
* jre-1.8.0-openjdkを選択

# vi /etc/security/limits.conf
elasticsearch    hard    nproc           4096
elasticsearch    soft    nproc           4096
elasticsearch    -       nofile          65536
# reboot

2. ElasticSearchインストール

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
# yum list | grep elastic
# yum install elasticsearch

3. 起動設定

# chkconfig --add elasticsearch
# chkconfig elasticsearch on

4. パラメーターチューニング

# cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.org
# cp /etc/elasticsearch/jvm.options /etc/elasticsearch/jvm.options.org
# cp /etc/sysconfig/elasticsearch /etc/sysconfig/elasticsearch.org

# vi /etc/elasticsearch/elasticsearch.yml
(ipのバインド)
< network.host: 0.0.0.0
< bootstrap.system_call_filter: false
---
> #network.host: 192.168.0.1

*eth1でクラスターと接続している場合は
< network.bind_host: 0.0.0.0
< network.publish_host: _eth1:ipv4_
< bootstrap.system_call_filter: false
---
> #network.host: 192.168.0.1

(クラスターのホストdiscovery)
< discovery.zen.ping.unicast.hosts: ["192.168.56.101", "192.168.56.102", "192.168.56.103", "192.168.56.104", "192.168.56.105"]
---
> #discovery.zen.ping.unicast.hosts: ["host1", "host2"]

bootstrap.system_call_filter: false

# vi /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g

# vi /etc/elasticsearch/jvm.options
< ES_JAVA_OPTS="-XX:-AssumeMP"
---
> #ES_JAVA_OPTS=

5. 起動

# service elasticsearch start

最後に

AWS環境では特にパラメーターの変更は必要なく立ち上がったが、 CentOSの場合、「ES_JAVA_OPTS="-XX:-AssumeMP"」を記載しないとJAVAのエラーが出力され起動しなかったのではまった。 LinuxディストリビューターによってJavaの設定が違うことが原因とGithubのissueにあったのでメモとして記載する。

'Windows Subsystem for Linux' でVagrantを操作する方法

今回したこと

今回はWindows Subsystem for Linux(以下WSL) にVagrantをインストールして、 WSL上でVagrantファイルを操作できるようにしてみました。

以下のhashcorp社の公式手順に沿って実施したのですが、 特につまずいたこともなく導入はスムーズでしたので参考にしていただければと思います。

Vagrant and Windows Subsystem for Linux - Vagrant by HashiCorp

 

なぜやろうとおもったか

職場ではMacユーザーなのですが、家でばWindows10をつかってます。

今までプログラムの動作確認のためにAWSやサクラのVPSWinSCPなどでファイルを上げて動作確認をしていました。

ただいちいち更新のたびにLinuxにファイルを上げる必要がある(同期していたとしても)面倒なので、 Windows上のWSLを使用してVagrantでうまい具合に開発しようと思ったのが始まりです。

前提

・WSLがインストールされていること。

Windows Subsystem for Linuxをインストールしてみよう! - Qiita

VirtualBoxWindows上にインストールされていること。

https://qiita.com/ringo0321/items/afa176192d9b5edf923d

1. パッケージのダウンロード

以下のURLから最新版のDebianパッケージ(64bit)を一旦Winowsのデスクトップにダウンロードしましょう。 執筆時点では「vagrant_2.0.1_x86_64.deb」となっているので今回はこちらを利用します。 Download - Vagrant by HashiCorp

2.Vagrantインストール 

WSLを起動後に以下のコマンドでWSL上の/tmpディレクトリにファイルを移動します。

mv /mnt/c/Users/{ユーザー名}/Desktop/vagrant_2.0.1_x86_64.deb /tmp/.

移動したファイルをdpkgコマンドでインストールします。

cd /tmp
sudo dpkg -i vagrant_2.0.1_x86_64.deb

これでVagrantのインストールは完了です。

3.VirtualBoxの実行ファイルをPATHに加える。

このままだとVagrantからWindow側にインストールしている VirtualBoxの操作ができないので以下の操作でWSL側のPATHに加えます。 ついでにVagrantWindowsへのアクセス権の許可を与えます。

vi /home/{ユーザー名}/.bashrc
末尾に以下を追加

# VagrantのWindowsシステムへのアクセス許可
export VAGRANT_WSL_ENABLE_WINDOWS_ACCESS="1"

# Vagrantのプロジェクトフォルダを指定します。
export VAGRANT_WSL_WINDOWS_ACCESS_USER_HOME_PATH="/home/{ユーザー名}/vagrant/CentOS67"

# VirtualBoxのexeをPATHに追加
PATH=$PATH:"/mnt/c/Program Files/Oracle/VirtualBox"

bashrc反映のため、sourceコマンドもしくはWSLの再起動を実施してください。

今回は例として「/home/{ユーザー名}/vagrant/CentOS67」ディレクトリで CentOS6.7のVagrantBoxを立ち上げたいと思います。

Vagrant設定と起動

ここまでくればあとは普通にVagrantを起動させるだけです。

## ディレクトリ作成
mkdir -p /home/{ユーザー名}/vagrant/CentOS67

## ディレクトリ移動
cd /home/{ユーザー名}/vagrant/CentOS67

## VagrantBoxダウンロード(今回はbento/centos-6.7を使用)
vagrant box add bento/centos-6.7 https://atlas.hashicorp.com/bento/boxes/centos-6.7

## Vagrantfileの作成
vagrant init

## Vagrantfileの修正
vi Vagrantfile
以下の行のコメントアウトを外し修正を実施。
変更前:
# config.vm.box = "base"
変更後
config.vm.box = "bento/centos-6.7"

## Vagrantの起動
vagrant init
  • Boxのダウンロードに時間がかかるので注意してください。

Vagrant 接続

あとは以下のコマンドでVagrantsshログイン

vagrant ssh 

最後に

いかがでしたか?

Macだと特に苦戦することもないVagrant導入ですが、今回はWindows10のWSLで実践してみました。

今回の導入でWSLからWindowsのexeを起動できるところまで持っていった、マイクロソフトの技術者に対して単純に感心しました。

WEB系の開発だと大体Macかと思いますが、たまにはWindowsで遊んでみてはいかがでしょうか!