VirtualBox 를 많이 사용하기는 하지만 KVM Server 를 운영하여 여러대의 vm 을 생성후

System infra 를 구성할수 있습니다. kvm-host 구성및 FeeBSD 등 이기종 OS 구성들을 간편하게 할수 있습니다.

또한 VM template 생성후 virt-clone 명령어를 통하여 VM 을 Copy 하여 사용할수도 있습니다.

KVM 의 자세한 정보는 https://www.linux-kvm.org/page/Main_Page 에서 확인 할수 있습니다.

 

 

System update 를 진행후 리부팅을 합니다.

[root@kvm-test ~]# yum update -y
[root@kvm-test ~]# init 6

 

KVM 설치 및 X11 포워딩시 필요한 패키지 설치

[root@kvm-test ~]# yum install qemu-kvm qemu-img virt-manager virt-install libvirt libvirt-client -y
[root@kvm-test ~]# yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y

 

기타 필요 패키지 설치

yum install -y tree git wget screen net-tools tcpdump nmap unzip bzip2 bind-utils ftp policycoreutils-python vim-common sysstat ntp

 

tuned 설정 및 system rebooting 

[root@kvm-test ~]# tuned-adm profile virtual-host
[root@kvm-test ~]# init 6

 

MobaXterm 사용시 별도의 X11 포워딩 설정을 하지 않아도 됩니다.

https://mobaxterm.mobatek.net/

 

리부팅후 MobaXterm 으로 확인

CentOS 7 / RHEL 7 의 경우 biosdevname 사용으로 인하여

Nic Device name 이 ethX -> ens 등으로 표시가 됩니다.

별도로 바꿔줄 필요는 없지만 종종 바꿀일 들이 생깁니다.

 

Nic Device 확인

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::3d0d:c304:ffd2:345d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:a1:92:93  txqueuelen 1000  (Ethernet)
        RX packets 413  bytes 28643 (27.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 55  bytes 8462 (8.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]#

Nic Device 확인시 ens33 으로 설정 되어 있습니다.

 

grub file 편집

설정전

[root@localhost ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

 

설정후

[root@localhost ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"

GRUB_CMDLINE_LINUX net.ifnames=0 biosdevname=0 추가

 

grub2-mkconfig 명령어 실행

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-24b6899878164e84bdd6ecc2468d59ff
Found initrd image: /boot/initramfs-0-rescue-24b6899878164e84bdd6ecc2468d59ff.img
done
[root@localhost ~]#

 

시스템 리부팅후 확인

[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::991d:2916:bd16:7c3d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:a1:92:93  txqueuelen 1000  (Ethernet)
        RX packets 188  bytes 14643 (14.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 49  bytes 7742 (7.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]#

 

추가적으로 /etc/sysconfing/network-scripts/ifcfg-ens33 을 eth0 으로 변경 하고 설정 정보를 변경 해야 합니다.

 

 

CentOS 설치

 

DVD Image 로 부팅을 하면 최초 설치 화면을 볼수 있습니다.

OS 장애시에도 DVD Image 를 사용하기도 합니다. 설치시에는 Install CentOS 7 을 선택 합니다.

Install CentOS 7 을 선택 합니다.

 

설치 언어 선택 

사용할 언어를 선택 합니다. Desktop 을 쓴다고 하면 한글을 사용하겠지만 서버 환경에서는 Default 로 선택되어 있는 English 로 사용 하는것이 편합니다.

English 를 선택후 Continue 를 클릭합니다.

 

INSTALLATION SUMMARY 설치 요약 정보

설정할수 있는 항목은 다음과 같습니다.

LOCALIZATION 

DATE & TIME : System 에서 사용할 Timezone 을 설정 할수 있습니다.

KEYBOARD : System 에서 사용할 키보드 선택

LANGUAGE SUPPORT : System 에서 사용할 언어설정

 

SOFTWARE 

INSTALLATION SOURCE : 설치 미디어 선택 NETWORK 설치 및 CD-ROM 으로 설치 할수 있습니다.

SOFTWARE SELECTION : OS 설치시 설치할 패키지 선택

 

SYSTEM

INSTALLATION DESTINATION : OS 설치가 될 HardDisk 의 파티션작업을 할수 있습니다.

KDUMP : OS 장애시 KDUMP 설정을 통하여 OS Dump 를 떨어 트릴수 있습니다.

NETWORK & HOSTNAME : IP 설정및 System Hostname 을 설정 할수 있습니다.

SECURITY POLICY : System 보안 설정을 할수 있습니다.

 

설정 DATE & TIME 클릭하여 Timezone 을 변경 합니다.  Asia Seoul 로 변경후 Done 을 클릭 합니다.

 

SYSTEM 항목 에서 INSTALLATION DESTINATION 을 선택 합니다.

Other Storage Options 에 Partitioning 이 Automatically configure partitioning. 이 선택 되어 있습니다.

I will configure partioning. 으로 변경후 Done 을 클릭 합니다.

 

MANUAL PARTITIONING (수동 파티션 설정)

OS 영역 영역의 경우

사용방법에 따라 다르겠지만 /boot , 영역의 경우 일반적으로 lvm 이 아닌 Standard Parition 으로 구성 합니다.

/boot 2G (kernel-upgrade 시 boot 용량이 증가 합니다. 예전 centOS 5 까지는 512m 정도로 설정 하였지만 CentOS 7 에서는 2G ~ 4G 가 적당할것으로 보입니다.)

swap (Memory 용량의 약 1배 16G 까지 32G 서부터는 약 반배만 설정 합니다. ) 사용용도에 따라 상이하게 설정 하면 됩니다.

swap 설정의 자세한 내용은 Redhat Site : https://access.redhat.com/ko/node/744483 에서 확인 할수 있습니다.

/   (별도의 파티션으로 /usr /home /var /tmp 를 설정 하지 않는다고 하면 HardDisk 의 최대 사이즈로 지정 할수 있습니다.)

/home (일반유저 디렉토리로 사용자가 많은 경우 높게 설정해야 합니다.)

/var (log 및 db data 의 Default 저장 디렉토리 입니다. log 저장을 많이 하는 System 에서는 Size 를 크게 설정 해야 합니다.)

일반적으로는 /boot , swap ,  / ,  /home , /var 정도만 설정하여도 무방 하며 OS 영역이 아닌 일반 Data 의 경우 NFS / SAN 등으로 볼륨을 추가 하여 DATA 를 저장하여 사용 합니다.

KDUMP 이용시 /var/crash 가 설정되어야 하며 일반적으로 메모리의 약 1.5 배로 설정을 합니다.

 

Create new mount points by clicking the + button. New mount points will use the following partitioning scheme:

에서 Standard Partition 을 선택 합니다.

+ 버튼을 눌러 파티션을 추가 할수 있습니다.

/boot 파티션 생성 

/boot 디렉토리 2G Size 로 파티션을 생성 합니다.

Add mount point 를 클릭 합니다.

Mount Point: 경로 설정

Desired Capacity: 용량

Add mount point 를 클릭하여 boot 파티션을 생성 합니다.

 

swap 파티션 생성

swap 의 경우 별도로 Mount Point 가 필요 없습니다.

Mount Point : swap

Desired Capacity: 4G 로 설정 합니다.

Add mount point 를 클릭하여 swap 파티션을 생성 합니다.

 

/ 파티션 생성

Mount Point : /

Desired Capacity:  용량이 설정 되지 않으면 HardDisk 의 최대 용량으로 설정 됩니다.

Add mount point 를 클릭하여 / 파티션을 생성 합니다.

 

파티셔닝 작업이 끝났습니다.

Done 을 클릭 합니다.

 

SUMMARY OF CHANGES 변경사항 요약

Accept Changes 를 클릭 합니다.

 

INSTALLATION SUMMARY 

처음 설정 하였던 화면으로 돌아 왔습니다. 추가적인 패키지 설치 및 NETWORK 설정 Hostname 변경 등의 작업은 차후에 진행할수 있습니다.

Begin Installation 을 클릭 하여 설치를 진행 합니다. 

 

CONFIGURATION 

Begin Installation 을 클릭하면 파티셔닝 작업후 선택한 패키지로 설치가 진행 됩니다.

USER SETTINGS 에서는 ROOT PASSWORD 설정 , USER CREATION 을 진행 할수 있습니다.

ROOT PASSWORD 를 선택하여 관리자 암호를 설정 합니다.

 

ROOT PASSWORD 관리자 암호 설정

Root Password 설정을 한후 Done 을 클릭하여 관리자 암호를 설정 합니다.

 

OS 설치가 완료 되었습니다. Reboot 을 클릭 하여 설치를 마무리 합니다. 

 

 

 

 

 

 

 

FreeBSD 에서도 Docker 를 사용하실수 있습니다.

단, OS 올리고 내리고 정도만 정상적으로 됩니다. 

mariadb 볼륨 연결을 테스트 해보았지만 정상적으로 되지 않았습니다.

어디까지나 시험삼아 테스트 하시기 바랍니다.

zfs 파일시스템을 사용해야 하며 Test는 VM FreeBSD 11 로 진행 하였습니다.

Test VM은 OS 설치부터 zfs 로 진행을 하였습니다.

ufs 파일시스템을 사용하시면 별도로 파티션 추가후 zfs 파일시스템을 만드시고 작업 하시면 됩니다.

참고페이지:https://wiki.freebsd.org/Docker

 

Docker 설치

root@bsd11:~ # pkg install docker-freebsd ca_root_nss

 

설치완료후 메세지

Message from docker-freebsd-20150625_1:
Docker requires a bit of setup before usage.

You will need to create a ZFS dataset on /usr/docker

# zfs create -o mountpoint=/usr/docker <zroot>/docker

And lastly enable the docker daemon
# sysrc -f /etc/rc.conf docker_enable="YES"
# service docker start

(WARNING)

Starting the docker service will also add the following PF rule:

nat on ${iface} from 172.17.0.0/16 to any -> (${iface})

Where $iface is the default NIC on the system, or the value
of $docker_nat_iface. This is for network connectivity to docker
containers in this early port. This should not be needed in future
versions of docker.
Message from ca_root_nss-3.32.1:
********************************* WARNING *********************************

FreeBSD does not, and can not warrant that the certification authorities
whose certificates are included in this package have in any way been
audited for trustworthiness or RFC 3647 compliance.

Assessment and verification of trust is the complete responsibility of the
system administrator.

*********************************** NOTE **********************************

This package installs symlinks to support root certificates discovery by
default for software that uses OpenSSL.

This enables SSL Certificate Verification by client software without manual
intervention.

If you prefer to do this manually, replace the following symlinks with
either an empty file or your site-local certificate bundle.

  * /etc/ssl/cert.pem
  * /usr/local/etc/ssl/cert.pem
  * /usr/local/openssl/cert.pem

***************************************************************************
root@bsd11:~ #

 

 

docker 에서 사용할 zfs 파일시스템을 추가 합니다.

root@bsd11:~ # zfs create -o mountpoint=/usr/docker zroot/docker
root@bsd11:~ # df -h
Filesystem            Size    Used   Avail Capacity  Mounted on
zroot/ROOT/default     16G    788M     15G     5%    /
devfs                 1.0K    1.0K      0B   100%    /dev
zroot/tmp              15G     88K     15G     0%    /tmp
zroot/usr/home         15G    128K     15G     0%    /usr/home
zroot/usr/ports        16G    678M     15G     4%    /usr/ports
zroot/usr/src          16G    633M     15G     4%    /usr/src
zroot/var/audit        15G     88K     15G     0%    /var/audit
zroot/var/crash        15G     88K     15G     0%    /var/crash
zroot/var/log          15G    140K     15G     0%    /var/log
zroot/var/mail         15G     88K     15G     0%    /var/mail
zroot/var/tmp          15G     88K     15G     0%    /var/tmp
zroot                  15G     88K     15G     0%    /zroot
zroot/docker           15G     88K     15G     0%    /usr/docker

 

/etc/rc.conf 수정 및 docker service start

root@bsd11:~ # sysrc -f /etc/rc.conf docker_enable="YES"
docker_enable:  -> YES
root@bsd11:~ # service docker start
Starting docker...
root@bsd11:~ #

 

docker 명령어를 사용할 유저를 생성 합니다.

root@bsd11:~ # pw user add test -m -g wheel
root@bsd11:~ # passwd test
Changing local password for test
New Password:
Retype New Password:
root@bsd11:~ #

 

유저를 operator group 에 추가 합니다.

root@bsd11:~ # pw usermod test -G operator

 

test 유저로 작업

root@bsd11:~ # su - test
To see the IP addresses currently set on your active interfaces, type
"ifconfig -u".
                -- Dru <genesis@istar.ca>
$

 

쉘을 변경 합니다. sh -> csh Shell 부분에서 변경하시면 됩니다.

password 는 User 패스워드를 입력하시면 됩니다.

$ chsh test
#Changing user information for test.
Shell: /bin/csh
Full Name: User &
Office Location:
Office Phone:
Home Phone:
Other information:

 

Docker Version 확인

test@bsd11:~ % docker version
Client version: 1.7.0-dev
Client API version: 1.19
Go version (client): go1.9
Git commit (client): 582db78
OS/Arch (client): freebsd/amd64
Server version: 1.7.0-dev
Server API version: 1.19
Go version (server): go1.9
Git commit (server): 582db78
OS/Arch (server): freebsd/amd64
test@bsd11:~ %

 

docker image search 

test@bsd11:~ % docker search centos
NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                             The official build of CentOS.                   3831      [OK]
ansible/centos7-ansible            Ansible on Centos7                              103                  [OK]
jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x8...   90                   [OK]
tutum/centos                       Simple CentOS docker image with SSH access      33
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              32                   [OK]
gluster/gluster-centos             Official GlusterFS Image [ CentOS-7 +  Glu...   21                   [OK]
kinogmt/centos-ssh                 CentOS with SSH                                 17                   [OK]
centos/mysql-57-centos7            MySQL 5.7 SQL database server                   15
openshift/base-centos7             A Centos7 derived base image for Source-To...   13
centos/python-35-centos7           Platform for building and running Python 3...   12
centos/php-56-centos7              Platform for building and running PHP 5.6 ...   10
openshift/jenkins-2-centos7        A Centos7 based Jenkins v2.x image for use...   6
openshift/mysql-55-centos7         DEPRECATED: A Centos7 based MySQL v5.5 ima...   6
darksheer/centos                   Base Centos Image -- Updated hourly             3                    [OK]
pivotaldata/centos-mingw           Using the mingw toolchain to cross-compile...   1
indigo/centos-maven                Vanilla CentOS 7 with Oracle Java Developm...   1                    [OK]
miko2u/centos6                     CentOS6 日本語環境                                   1                    [OK]
blacklabelops/centos               CentOS Base Image! Built and Updates Daily!     1                    [OK]
openshift/php-55-centos7           DEPRECATED: A Centos7 based PHP v5.5 image...   1
pivotaldata/centos-gpdb-dev        CentOS image for GPDB development. Tag nam...   1
smartentry/centos                  centos with smartentry                          0                    [OK]
openshift/wildfly-101-centos7      A Centos7 based WildFly v10.1 image for us...   0
pivotaldata/centos-gcc-toolchain   CentOS with a toolchain, but unaffiliated ...   0
pivotaldata/centos                 Base centos, freshened up a little with a ...   0
jameseckersall/sonarr-centos       Sonarr on CentOS 7                              0                    [OK]
test@bsd11:~ %

 

Docoker Test

test@bsd11:~ % docker run -it ubuntu bash
root@:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
root@:/#

 

error message 

볼륨연결 실패

test@bsd11:~ % docker run -d --name mysql -v mysql:/db -e MYSQL_ROOT_PASSWORD=wordpress -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=wordpress mysql:5.7
Error response from daemon: cannot bind mount volume: mysql volume paths must be absolute.
test@bsd11:~ %

 

mariadb 구동 실패

test@bsd11:~ % docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mariadb mariadb
b58d150e823f28c8a5db20aa41584340b6bc23bf7b854dd1f54958877c7c4d80
test@bsd11:~ % docker  ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
test@bsd11:~ % docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                      PORTS               NAMES
b58d150e823f        mariadb             "docker-entrypoint.s   3 seconds ago       Exited (1) 2 seconds ago                        mariadb     
b84ca391ae79        mysql               "docker-entrypoint.s   58 seconds ago      Exited (1) 58 seconds ago                       mysql       
test@bsd11:~ %

 

결론:

실험적으로 사용 하는것을 권장 합니다.

 

 

FreeBSD gnome3 , kde4 , xfce4 설치 문서 입니다.

pkg install 로 설치 하였고 Test는 VM환경에서 하였습니다.

ports Collection 을 이용하여 설치 하여도 되지만 시간이 오래 걸리는 관계로 pkg install 로 진행 하였습니다.

ports 업데이트 -> xorg 설치및 gnome3 설치전까지는 gnome3 / kde4 / xfce4 동일한 설정 입니다.

 

 

ports 업데이트 

root@bsd11:~ # portsnap fetch
root@bsd11:~ # portsnap update
root@bsd11:~ # portsnap fetch update

 

Xorg 참고 페이지 : https://www.freebsd.org/doc/handbook/x-understanding.html

 

xorg 설치 

root@bsd11:~ # pkg install xorg

 

설치 완료 메세지

================================================================================
You installed xterm with wide chars support. This introduces some limitations
comparing to the plain single chars version: this version of xterm will use
UTF-8 charset for selection buffers, breaking 8-bit copy/paste support unless
you are using UTF-8 or ISO8859-1 locale. If you want 8-bit charset selections to
work as before, use "eightBitSelectTypes" XTerm resource setting.

For further information refer to the SELECT/PASTE section of xterm(1) manual
page.
================================================================================

 

 

X윈도우 사용시 3D가속 사용을 위한 wheel group 추가 

root@bsd11:~ # pw user add user_name -m -g wheel
oot@bsd11:~ # pw groupmod video -m user_name 

 

boot loader  추가 

root@bsd11:~ # vi /boot/loader.conf
kern.vty=vt
kern.maxfiles="25000"

 

xorg-drivers 설치 (드라이버를 설치 하지 않을경우 정상적으로 Xorg 가 작동하지 않습니다.)

root@bsd11:~ # pkg install xorg-drivers
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 5 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        xorg-drivers: 7.7_5
        xf86-video-vesa: 2.3.4_1
        xf86-video-scfb: 0.0.4_5
        xf86-input-mouse: 1.9.2_1
        xf86-input-keyboard: 1.9.0_1

Number of packages to be installed: 5

Proceed with this action? [y/N]: y
[1/5] Installing xf86-video-vesa-2.3.4_1...
[1/5] Extracting xf86-video-vesa-2.3.4_1: 100%
[2/5] Installing xf86-video-scfb-0.0.4_5...
[2/5] Extracting xf86-video-scfb-0.0.4_5: 100%
[3/5] Installing xf86-input-mouse-1.9.2_1...
[3/5] Extracting xf86-input-mouse-1.9.2_1: 100%
[4/5] Installing xf86-input-keyboard-1.9.0_1...
[4/5] Extracting xf86-input-keyboard-1.9.0_1: 100%
[5/5] Installing xorg-drivers-7.7_5...
root@bsd11:~ #

 

 

open-vm-tools 설치 (vmware 해당)

root@bsd11:~ # pkg install open-vm-tools
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        open-vm-tools: 10.1.10_4,2
        gtkmm24: 2.24.4_3
        xerces-c3: 3.2.0_2
        apache-xml-security-c: 1.7.3
        libdnet: 1.12_1
        libmspack: 0.5

Number of packages to be installed: 6

The process will require 36 MiB more space.
5 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/6] Fetching open-vm-tools-10.1.10_4,2.txz: 100%  563 KiB 576.1kB/s    00:01
[2/6] Fetching gtkmm24-2.24.4_3.txz: 100%    1 MiB   1.3MB/s    00:01
[3/6] Fetching xerces-c3-3.2.0_2.txz: 100%    2 MiB   2.1MB/s    00:01
[4/6] Fetching apache-xml-security-c-1.7.3.txz: 100%  703 KiB 719.8kB/s    00:01
[5/6] Fetching libdnet-1.12_1.txz: 100%   64 KiB  65.6kB/s    00:01
[6/6] Fetching libmspack-0.5.txz: 100%   73 KiB  74.6kB/s    00:01
Checking integrity... done (0 conflicting)
[1/6] Installing xerces-c3-3.2.0_2...
[1/6] Extracting xerces-c3-3.2.0_2: 100%
[2/6] Installing gtkmm24-2.24.4_3...
[2/6] Extracting gtkmm24-2.24.4_3: 100%
[3/6] Installing apache-xml-security-c-1.7.3...
[3/6] Extracting apache-xml-security-c-1.7.3: 100%
[4/6] Installing libdnet-1.12_1...
[4/6] Extracting libdnet-1.12_1: 100%
[5/6] Installing libmspack-0.5...
[5/6] Extracting libmspack-0.5: 100%
[6/6] Installing open-vm-tools-10.1.10_4,2...
Extracting open-vm-tools-10.1.10_4,2: 100%
Loading vmmemctl kernel module: done.
vmware_guestd not running? (check /var/run/vmware_guestd.pid).
Starting vmware_guestd.
root@bsd11:~ #

 

/etc/rc.conf 설정 (vmware 해당)

root@bsd11:~ # vi /etc/rc.conf
# Vmware Settings
vmware_guest_vmblock_enable="YES"
vmware_guest_vmhgfs_enable="YES"
vmware_guest_vmmemctl_enable="YES"
vmware_guest_vmxnet_enable="YES"
vmware_guestd_enable="YES"

 

xf86-video-vmware xf86-input-vmmouse 설치 (vmware 만 해당)

root@bsd11:~ # pkg install xf86-video-vmware xf86-input-vmmouse
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        xf86-video-vmware: 13.2.1_1
        xf86-input-vmmouse: 13.1.0_1

Number of packages to be installed: 2

34 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/2] Fetching xf86-video-vmware-13.2.1_1.txz: 100%   24 KiB  24.2kB/s    00:01 
[2/2] Fetching xf86-input-vmmouse-13.1.0_1.txz: 100%   10 KiB  10.5kB/s    00:01
Checking integrity... done (0 conflicting)
[1/2] Installing xf86-video-vmware-13.2.1_1...
[1/2] Extracting xf86-video-vmware-13.2.1_1: 100%
[2/2] Installing xf86-input-vmmouse-13.1.0_1...
Extracting xf86-input-vmmouse-13.1.0_1: 100%
root@bsd11:~ #

 

리부팅후 Xorg 설정

root@bsd11:~ # init 6

 

xorg.conf 파일생성

별도의 설정을 만들지 않아도 작동은 하지만 vmware 의경우 마우스 감도가 떨어져 별도로 수정을 해줍니다.

root@bsd11:~ # Xorg -configure

X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: FreeBSD 11.0-RELEASE-p15 amd64
Current Operating System: FreeBSD bsd11 11.1-RELEASE FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 02:08:28 UTC 2017     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
Build Date: 16 November 2017  09:17:14AM

Current version of pixman: 0.34.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sun Nov 26 03:20:57 2017
List of video drivers:
        vmware
        vesa
        modesetting
        scfb
scfb trace: probe start
(++) Using config file: "/root/xorg.conf.new"
(==) Using system config directory "/usr/local/share/X11/xorg.conf.d"


Xorg detected your mouse at device /dev/sysmouse.
Please check your config if the mouse is still not
operational, as by default Xorg tries to autodetect
the protocol.

Your xorg.conf file is /root/xorg.conf.new

 

xorg.conf.new 파일을 카피

root@bsd11:~ # cp xorg.conf.new /usr/local/etc/X11/xorg.conf.d/xorg.conf

 

xorg.conf 파일 설정

root@bsd11:~ # vi /usr/local/etc/X11/xorg.conf.d/xorg.conf
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option          "AutoAddDevices" "Off"
EndSection

Section "Files"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath     "/usr/local/share/fonts/misc/"
        FontPath     "/usr/local/share/fonts/TTF/"
        FontPath     "/usr/local/share/fonts/OTF/"
        FontPath     "/usr/local/share/fonts/Type1/"
        FontPath     "/usr/local/share/fonts/100dpi/"
        FontPath     "/usr/local/share/fonts/75dpi/"
EndSection

Section "Module"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "vmmouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

 

Secriton “ServerLayout” 에서 Option 을 추가하여 자동으로 Device 가 추가 되는것을 방지 합니다.

 

Section “InputDevice” 에서

mount 를 vmmouse 로 변경 합니다.

 

 

 

Gnome3 install 

pkg 명령어를 이용하여 install  합니다.

root@bsd11:~ # pkg install gnome3

 

설치 완료 메세지

===========================================================================

Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:

py36-gdbm       databases/py36-gdbm
py36-sqlite3    databases/py36-sqlite3
py36-tkinter    x11-toolkits/py36-tkinter

===========================================================================
Message from xmlcatmgr-2.2_2:

The following catalogs are installed:

 1) /usr/local/share/sgml/catalog

   The top level catalog for SGML stuff.  It is not changed
   by any ports/packages except textproc/xmlcatmgr.

 2) /usr/local/share/sgml/catalog.ports

   This catalog is for handling SGML stuff installed under
   /usr/local/share/sgml.  It is changed by ports/packages.

 3) /usr/local/share/xml/catalog

   The top level catalog for XML stuff.  It is not changed
   by any ports/packages except textproc/xmlcatmgr.

 4) /usr/local/share/xml/catalog.ports

   This catalog is for handling XML stuff installed under
   /usr/local/share/xml.  It is changed by ports/packages.
Message from trousers-0.3.14_1:

To run tcsd automatically, add the following line to /etc/rc.conf:

tcsd_enable="YES"

You might want to edit /usr/local/etc/tcsd.conf to reflect your setup.

If you want to use tcsd with software TPM emulator, use the following
configuration in /etc/rc.conf:

tcsd_enable="YES"
tcsd_mode="emulator"
tpmd_enable="YES"

To use TPM, add your_account to '_tss' group like following:

# pw groupmod _tss -m your_account
Message from libinotify-20170711_1:

============================================================================

Libinotify functionality on FreeBSD is missing support for

  - detecting a file being moved into or out of a directory within the
    same filesystem
  - certain modifications to a symbolic link (rather than the
    file it points to.)

in addition to the known limitations on all platforms using kqueue(2)
where various open and close notifications are unimplemented.

This means the following regression tests will fail:

Directory notifications:
   IN_MOVED_FROM
   IN_MOVED_TO

Open/close notifications:
   IN_OPEN
   IN_CLOSE_NOWRITE
   IN_CLOSE_WRITE

Symbolic Link notifications:
   IN_DONT_FOLLOW
   IN_ATTRIB
   IN_MOVE_SELF
   IN_DELETE_SELF

Kernel patches to address the missing directory and symbolic link
notifications are available from:

https://github.com/libinotify-kqueue/libinotify-kqueue/tree/master/patches

=============================================================================
You might want to consider increasing the kern.maxfiles tunable if you plan
to use this library for applications that need to monitor activity of a lot
of files.

If the default on your system is too low, add the following line to
/boot/loader.conf, then reboot the system:

    kern.maxfiles="25000"
=============================================================================
Message from gamin-0.1.10_9:

===============================================================================

Gamin will only provide realtime notification of changes for at most n files,
where n is the minimum value between (kern.maxfiles * 0.7) and
(kern.maxfilesperproc - 200). Beyond that limit, files will be polled.

If you often open several large folders with Nautilus, you might want to
increase the kern.maxfiles tunable (you do not need to set
kern.maxfilesperproc, since it is computed at boot time from kern.maxfiles).

For a typical desktop, add the following line to /boot/loader.conf, then
reboot the system:

    kern.maxfiles="25000"

The behavior of gamin can be controlled via the various gaminrc files.
See http://www.gnome.org/~veillard/gamin/config.html on how to create
these files.  In particular, if you find gam_server is taking up too much
CPU time polling for changes, something like the following may help
in one of the gaminrc files:

# reduce polling frequency to once per 10 seconds
# for UFS file systems in order to lower CPU load
fsset ufs poll 10

===============================================================================

===>   NOTICE:

The gamin port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from libcdio-0.94:

===>   NOTICE:

The libcdio port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from samba44-4.4.16:

===============================================================================

How to start: http://wiki.samba.org/index.php/Samba4/HOWTO

* Your configuration is: /usr/local/etc/smb4.conf

* All the relevant databases are under: /var/db/samba4

* All the logs are under: /var/log/samba4

* Provisioning script is: /usr/local/bin/samba-tool

For additional documentation check: http://wiki.samba.org/index.php/Samba4

Bug reports should go to the: https://bugzilla.samba.org/

===============================================================================
Message from webcamd-4.12.0.1:

*********************************************************************
1) webcamd requires the cuse4bsd(3) or cuse(3) kernel module, depending on
how webcamd was compiled. Please load this dependency by doing:

       # FreeBSD < 11.x, package from ports
       # kldload cuse4bsd
or
       # FreeBSD >= 11.x, part of default kernel build
       # kldload cuse

or by adding

       cuse4bsd_load="YES"
or
       cuse_load="YES"

to your /boot/loader.conf.

2) add webcamd_enable="YES"

to your /etc/rc.conf

3) Please restart devd to start webcamd

        # service devd restart

4) Optionally add a user to the "webcamd" group

        # pw groupmod webcamd -m <username>

5) If webcamd still did not start, consult the installed webcamd rc.d
script for more help and instructions on how to start webcamd.
*********************************************************************
Message from wv-1.2.9_4:

*******************************************************************

Some output formats (for example: DVI, PDF, and PS) require a LaTeX
implementation, such as print/teTeX, to be installed. Text output
will be of better quality if www/elinks, www/links, or www/lynx is
installed.

*******************************************************************

===>   NOTICE:

The wv port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from raptor-1.4.21_6:

===>   NOTICE:

The raptor port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from libcdio-paranoia-10.2+0.94+1:

===>   NOTICE:

The libcdio-paranoia port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from fusefs-libs-2.9.5:

Install the fuse kernel module to use this port.
Message from ibus-1.5.14_3:

-------------------------------------------------------------------
ibus installation finished. To use ibus, please do the following:

If you are using bash, please add following lines to your $HOME/.bashrc:

export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM="ibus-daemon"
export XIM_ARGS="--daemonize --xim"

If you are using tcsh, please add following lines to your $HOME/.cshrc:

setenv XIM ibus
setenv GTK_IM_MODULE ibus
setenv QT_IM_MODULE xim
setenv XMODIFIERS @im=ibus
setenv XIM_PROGRAM ibus-daemon
setenv XIM_ARGS "--daemonize --xim"

If you are using KDE4, you may create a shell script in $HOME/.kde4/env,
and add following lines:

#!/bin/sh
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM="ibus-daemon"
export XIM_ARGS="--daemonize --xim"

Following input methods/engines are available in ports:

chinese/ibus-chewing            Chewing engine for IBus
chinese/ibus-libpinyin          Intelligent Pinyin engine based on libpinyin
chinese/ibus-pinyin             The PinYin input method
japanese/ibus-anthy             Anthy engine for IBus
japanese/ibus-mozc              Mozc engine for IBus
japanese/ibus-skk               SKK engine for IBus
korean/ibus-hangul              Hangul engine for IBus
textproc/ibus-kmfl              KMFL IMEngine for IBus framework
textproc/ibus-table             Table based IM framework for IBus
textproc/ibus-typing-booster    Faster typing by context sensitive completion

and QT4 input method module, textproc/ibus-qt.

If ibus cannot start or the panel does not appear, please ensure
that you are using up-to-date python.
-------------------------------------------------------------------
Message from pulseaudio-11.0_1:

Pulseaudio tries to determine default values for FreeBSD OSS driver at first
start, based on /dev/sndstat output. The hw.snd.default_unit sysctl may affect
these values, but restart of the Pulseaudio might be needed to rescan it again,
e.g. `pacmd exit`.

Pulseaudio has separate input and output configure lines. You can change them
with using following commands:

To change the default sink (output):
# pacmd set-default-sink 3
To change the default source (input):
# pacmd set-default-source 3

This can also be set in /usr/local/etc/pulse/default.pa

Replace the number '3' with the new default you want to set.


The audio/freedesktop-sound-theme is needed if the default sound files
are uncommented in the /usr/local/etc/pulse/default.pa file.
Message from glew-1.13.0_1:

===>   NOTICE:

The glew port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from freeglut-3.0.0_1:

Joystick support is untested and it is unknown if it works.

Do not hesitate to contact x11@FreeBSD.org if this causes issues.
Message from ghostscript9-agpl-base-9.16_5:

Note: in order to use the script "dvipdf", dvips must be installed.
This program is provided by another package print/tex-dvipsk.

FAPIfontmap and FAPIcidfmap in /usr/local/share/ghostscript/9.16/Resource/Init
have to be configured if you want to use FAPI feature.
Message from schroedinger-1.0.11_4:

===>   NOTICE:

The schroedinger port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from opencv-core-2.4.13.1_1:

===>   NOTICE:

The opencv-core port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from aalib-1.4.r5_11:

===>   NOTICE:

The aalib port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from portaudio-19.20140130_6:

===>   NOTICE:

The portaudio port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from cheese-3.18.1_2:

For cheese to work, webcamd needs to be running and the user which wants
to run cheese needs to be added to the webcamd group.

This can be done by:

# pw groupmod webcamd -m jerry
Message from libgtop-2.32.0:

===============================================================================

In order to use the File System read/write monitor, you must chmod
/dev/devstat so that all users can open it read-only.  For example:

# chmod 0444 /dev/devstat

In order for this to persist across reboots, add the following to
/etc/devfs.conf:

perm    devstat 0444

===============================================================================
Message from djvulibre-3.5.27_1:

===>   NOTICE:

The djvulibre port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from sdl-1.2.15_10,2:

------------------------------------------------------------------------------
 Your SDL library has been built with libvgl support, which means that you
 can run almost any SDL application straight on your console (VESA 2.0
 compatible videocard is required).

 To do this you have to load the vesa kernel module or enable it in your
 kernel, and set environment variable "SDL_VIDEODRIVER=vgl".
------------------------------------------------------------------------------

===>   NOTICE:

The sdl port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from libdca-0.0.5_1:

===>   NOTICE:

The libdca port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from py36-setuptools-36.2.2:

*******************************************************************

  Only /usr/local/bin/easy_install-3.6 script has been installed
  since Python 3.6 is not the default Python version.

*******************************************************************
Message from dotconf-1.3_1:

===>   NOTICE:

The dotconf port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from cyrus-sasl-2.1.26_12:

You can use sasldb2 for authentication, to add users use:

        saslpasswd2 -c username

If you want to enable SMTP AUTH with the system Sendmail, read
Sendmail.README

NOTE: This port has been compiled with a default pwcheck_method of
      auxprop.  If you want to authenticate your user by /etc/passwd,
      PAM or LDAP, install ports/security/cyrus-sasl2-saslauthd and
      set sasl_pwcheck_method to saslauthd after installing the
      Cyrus-IMAPd 2.X port.  You should also check the
      /usr/local/lib/sasl2/*.conf files for the correct
      pwcheck_method.
      If you want to use GSSAPI mechanism, install
      ports/security/cyrus-sasl2-gssapi.
      If you want to use SRP mechanism, install
      ports/security/cyrus-sasl2-srp.
      If you want to use LDAP auxprop plugin, install
      ports/security/cyrus-sasl2-ldapdb.
Message from cdrtools-3.01_1:

===========================================================================

Note: The location of the cdrtools `defaults' files has been set to

        /usr/local/etc

This is the FreeBSD ports standard config file location, NOT the cdrtools
standard location, which is /etc/default.

The reason for this is that FreeBSD ports and packages should not use
configuration files outside of /usr/local.

===========================================================================
Message from spandsp-0.0.6:

===>   NOTICE:

The spandsp port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from boost-libs-1.65.1:

You have built the Boost library with thread support.

Don't forget to add -pthread to your linker options when
linking your code.
Message from unoconv-0.6:

===============================================================================

Universal Office Converter (unoconv) has been installed.

For Document conversions is needed that is LibreOffice or OpenOffice installed

editors/libreoffice

editors/openoffice*

===============================================================================
Message from gnome-shell-3.18.5_4:

Gnome-shell requires acceleration of to work. For this a nvidia card
with the nvidia-driver, or a Intel/ATI KMS enabled card is needed.

For the nvidia users no other changes are needed. For Intel/ATI KMS
driver the user needs to have read/write permissions on
/dev/dri/cardN (usually N=0). If gnome-shell is launched from gdm, the
gdm user also needs this access.

Access can be granted by adding the user(s) to the video group.

% pw groupmod video -m jerry

Additional for FreeBSD versions before FreeBSD 11.0-CURRENT revision
286524, and any FreeBSD 10.x version.

By using a devfs.rules(5) to change the mode of the /dev/dri/card0 on creation.

        add path 'dri/*' mode 0666 group video
Message from xterm-330:

================================================================================
You installed xterm with wide chars support. This introduces some limitations
comparing to the plain single chars version: this version of xterm will use
UTF-8 charset for selection buffers, breaking 8-bit copy/paste support unless
you are using UTF-8 or ISO8859-1 locale. If you want 8-bit charset selections to
work as before, use "eightBitSelectTypes" XTerm resource setting.

For further information refer to the SELECT/PASTE section of xterm(1) manual
page.
================================================================================
Message from gnome-keyring-3.18.3_4:

Gnome-keyring uses pinentry-gnome3 for gpg interactions, please add the
following line to your ~/.gnupg/gpg-agent.conf to enable the pinentry
dialog.

pinentry-program /usr/local/bin/pinentry-gnome3
Message from dvd+rw-tools-7.1_1:

===>   NOTICE:

The dvd+rw-tools port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from gdm-3.16.4_3:

GDM is installed.

Do _NOT_ use /etc/ttys to start gdm at boot time.  This will result in gdm
hanging or restarting constantly. Instead, add gdm_enable="YES" to
/etc/rc.conf. GDM will be started automatic on the next reboot.
Message from bitstream-vera-1.10_7:

IMPORTANT - READ CAREFULLY: Please read the COPYRIGHT included with these fonts
before using.  The copyright can be found at /usr/local/share/fonts/bitstream-vera/COPYRIGHT.TXT.  To
use these fonts, follow the instructions below.

Make sure that the freetype module is loaded.  If it is not, add the following
line to the "Modules" section of your X Windows configuration file:

        Load "freetype"

Add the following line to the "Files" section of X Windows configuration file:

        FontPath "/usr/local/share/fonts/bitstream-vera/"

Note: your X Windows configuration file is typically /etc/X11/xorg.conf
Message from gnome3-3.18.0:

**************************************************************************
Congratulations!  GNOME 3 has been successfully installed on your system.
For help on starting it up, as well as answers to common questions, and
some known issues, please see the FreeBSD GNOME homepage at:

                       http://www.FreeBSD.org/gnome/

**************************************************************************
root@bsd11:~ #

 

FreeBSD 의 경우 pkg 가 설치 되고 나면 설정 포인트가 나옵니다.

설치 완료후에 별도로 완료 메시지만 보실 경우에는 아래와 같은 방법으로 보실수 있습니다.

ex) gnome3

root@bsd11:~ # pkg info -D -x gnome3
gnome3-3.18.0:
Always:
**************************************************************************
Congratulations!  GNOME 3 has been successfully installed on your system.
For help on starting it up, as well as answers to common questions, and
some known issues, please see the FreeBSD GNOME homepage at:

                       http://www.FreeBSD.org/gnome/

**************************************************************************

pinentry-gnome3-1.0.0:
root@bsd11:~ #

 

ex) ibus

root@bsd11:~ # pkg info -D -x ibus
ibus-1.5.14_3:
Always:
-------------------------------------------------------------------
ibus installation finished. To use ibus, please do the following:

If you are using bash, please add following lines to your $HOME/.bashrc:

export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM="ibus-daemon"
export XIM_ARGS="--daemonize --xim"

If you are using tcsh, please add following lines to your $HOME/.cshrc:

setenv XIM ibus
setenv GTK_IM_MODULE ibus
setenv QT_IM_MODULE xim
setenv XMODIFIERS @im=ibus
setenv XIM_PROGRAM ibus-daemon
setenv XIM_ARGS "--daemonize --xim"

If you are using KDE4, you may create a shell script in $HOME/.kde4/env,
and add following lines:

#!/bin/sh
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM="ibus-daemon"
export XIM_ARGS="--daemonize --xim"

Following input methods/engines are available in ports:

chinese/ibus-chewing            Chewing engine for IBus
chinese/ibus-libpinyin          Intelligent Pinyin engine based on libpinyin
chinese/ibus-pinyin             The PinYin input method
japanese/ibus-anthy             Anthy engine for IBus
japanese/ibus-mozc              Mozc engine for IBus
japanese/ibus-skk               SKK engine for IBus
korean/ibus-hangul              Hangul engine for IBus
textproc/ibus-kmfl              KMFL IMEngine for IBus framework
textproc/ibus-table             Table based IM framework for IBus
textproc/ibus-typing-booster    Faster typing by context sensitive completion

and QT4 input method module, textproc/ibus-qt.

If ibus cannot start or the panel does not appear, please ensure
that you are using up-to-date python.
-------------------------------------------------------------------

root@bsd11:~ #

 

해당 포트 디렉토리에서도 확인 가능 합니다. (Ports 설치시)

pkg-message file

 

설지 완료후 나온 메시지를 보면 2가지 정도의 셋팅이 필요 할것으로 보입니다.

libinotify , ibus 설정 gnome3 의 경우 FreeBSD handbook 을 이용하여 셋팅 합니다.

libinotify 설정

root@bsd11:~ # vi /boot/loader.conf
kern.vty=vt
kern.maxfiles="25000"

 

ibus 설정

c shell 사용시 (tcsh 동일)

root@bsd11:~ # vi .cshrc
setenv XIM ibus
setenv GTK_IM_MODULE ibus
setenv QT_IM_MODULE xim
setenv XMODIFIERS @im=ibus
setenv XIM_PROGRAM ibus-daemon
setenv XIM_ARGS "--daemonize --xim"

 

bash 사용시 

root@bsd11:~ # vi .bashrc
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM="ibus-daemon"
export XIM_ARGS="--daemonize --xim"

 

 

FreeBSD handbook 참고: https://www.freebsd.org/doc/handbook/x11-wm.html

 

proc filesystem 추가

root@bsd11:~ # vi /etc/fstab
proc        /proc               procfs  rw      0       0

 

실행스크립트 설정 /etc/rc.conf

root@bsd11:~ # vi /etc/rc.conf
# Gnome Settings
dbus_enable="YES"
hald_enable="YES"
gdm_enable="YES"
gnome_enable="YES"
moused_enable="YES"

 

.xsession 파일 생성 (gdm_enable 시 자동으로 gnome3 가 구동 됩니다.)

root@bsd11:~ # echo "exec /usr/local/bin/gnome-session" > ~/.xsession
root@bsd11:~ # chmod +x .xsession

 

 

 

 

시스템 리부팅후 Gnome3 로그인화면을 볼수 있습니다.

 

chsh 로 Username 편집후 확인 

root@bsd11:~ # su - test
Need to quickly return to your home directory? Type "cd".
                -- Dru <genesis@istar.ca>
$ chsh test

#Changing user information for test.
Shell: /bin/sh
Full Name: User &
Office Location:
Office Phone:
Home Phone:
Other information:

Full Name: User & 에서 User_name 으로 변경 합니다.

ex)test

rebooting 후 확인

 

 

 

추가적인 방법 Gnome User list Disable

User & 부분이 신경쓰여 Gnome User list 를 Disable 합니다.

설정 (파일이 없어 별도로 만들어 줍니다.)

root@bsd11:~ # vi /usr/local/etc/dconf/profile/gdm

user-db:user
system-db:gdm
file-db:/usr/share/gdm/greeter-dconf-defaults

root@bsd11:~ # mkdir /usr/local/etc/dconf/db/gdm.d
root@bsd11:~ # mkdir /usr/local/etc/dconf/db/gdm.d/00-login-screen
[org/gnome/login-screen]
# Do not show the user list
disable-user-list=true


root@bsd11:~ # dconf update
root@bsd11:~ #

 

rebooting 후 확인

 

 

KDE 설치 

공통 부분의 경우 gnome3 설치전까지 입니다.

xorg 설치 및 설정이 필요 합니다.

 

root@bsd11:~ # pkg install x11/kde4
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 414 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        kde: 4.14.3_1
        kde-workspace: 4.11.22_12
        xsetroot: 1.1.1
        gcc6: 6.4.0_2
        gcc-ecj: 4.5
        mysql56-client: 5.6.37_1
        libevent: 2.1.8
        xmessage: 1.0.4
        xcb-util-keysyms: 0.4.0_1
        xcb-util-image: 0.4.0_1
        qimageblitz: 0.0.6_2
        qt4-gui: 4.8.7_3
        qtchooser: 39
        qt4-corelib: 4.8.7_9
~ 중략

 

proc filesystem 추가 

root@bsd11:~ # vi /etc/fstab
proc            /proc           procfs          rw      0       0

 

/etc/rc.conf 실행스크립트 추가 

root@bsd11:~ # vi /etc/rc.conf
# KDE Settings
dbus_enable="YES"
hald_enable="YES"
kdm4_enable="YES"
moused_enable="YES"

 

ibus 의 경우 default 로 설치가 진행되지 않았습니다.

 

리부팅 후 확인

 

 

xfce4 설치

공통 부분의 경우 gnome3 설치전까지 입니다.

xorg 설치 및 설정이 필요 합니다.

 

root@bsd11:~ # pkg install xfce

 

 

설치 완료후 메세지

The following catalogs are installed:

 1) /usr/local/share/sgml/catalog

   The top level catalog for SGML stuff.  It is not changed
   by any ports/packages except textproc/xmlcatmgr.

 2) /usr/local/share/sgml/catalog.ports

   This catalog is for handling SGML stuff installed under
   /usr/local/share/sgml.  It is changed by ports/packages.

 3) /usr/local/share/xml/catalog

   The top level catalog for XML stuff.  It is not changed
   by any ports/packages except textproc/xmlcatmgr.

 4) /usr/local/share/xml/catalog.ports

   This catalog is for handling XML stuff installed under
   /usr/local/share/xml.  It is changed by ports/packages.
Message from python36-3.6.2_1:

===========================================================================

Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:

py36-gdbm       databases/py36-gdbm
py36-sqlite3    databases/py36-sqlite3
py36-tkinter    x11-toolkits/py36-tkinter

===========================================================================
Message from libcdio-0.94:

===>   NOTICE:

The libcdio port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from libinotify-20170711_1:

============================================================================

Libinotify functionality on FreeBSD is missing support for

  - detecting a file being moved into or out of a directory within the
    same filesystem
  - certain modifications to a symbolic link (rather than the
    file it points to.)

in addition to the known limitations on all platforms using kqueue(2)
where various open and close notifications are unimplemented.

This means the following regression tests will fail:

Directory notifications:
   IN_MOVED_FROM
   IN_MOVED_TO

Open/close notifications:
   IN_OPEN
   IN_CLOSE_NOWRITE
   IN_CLOSE_WRITE

Symbolic Link notifications:
   IN_DONT_FOLLOW
   IN_ATTRIB
   IN_MOVE_SELF
   IN_DELETE_SELF

Kernel patches to address the missing directory and symbolic link
notifications are available from:

https://github.com/libinotify-kqueue/libinotify-kqueue/tree/master/patches

=============================================================================
You might want to consider increasing the kern.maxfiles tunable if you plan
to use this library for applications that need to monitor activity of a lot
of files.

If the default on your system is too low, add the following line to
/boot/loader.conf, then reboot the system:

    kern.maxfiles="25000"
=============================================================================
Message from gamin-0.1.10_9:

===============================================================================

Gamin will only provide realtime notification of changes for at most n files,
where n is the minimum value between (kern.maxfiles * 0.7) and
(kern.maxfilesperproc - 200). Beyond that limit, files will be polled.

If you often open several large folders with Nautilus, you might want to
increase the kern.maxfiles tunable (you do not need to set
kern.maxfilesperproc, since it is computed at boot time from kern.maxfiles).

For a typical desktop, add the following line to /boot/loader.conf, then
reboot the system:

    kern.maxfiles="25000"

The behavior of gamin can be controlled via the various gaminrc files.
See http://www.gnome.org/~veillard/gamin/config.html on how to create
these files.  In particular, if you find gam_server is taking up too much
CPU time polling for changes, something like the following may help
in one of the gaminrc files:

# reduce polling frequency to once per 10 seconds
# for UFS file systems in order to lower CPU load
fsset ufs poll 10

===============================================================================

===>   NOTICE:

The gamin port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from libcdio-paranoia-10.2+0.94+1:

===>   NOTICE:

The libcdio-paranoia port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-contributing.html#maintain-port
Message from samba44-4.4.16:

===============================================================================

How to start: http://wiki.samba.org/index.php/Samba4/HOWTO

* Your configuration is: /usr/local/etc/smb4.conf

* All the relevant databases are under: /var/db/samba4

* All the logs are under: /var/log/samba4

* Provisioning script is: /usr/local/bin/samba-tool

For additional documentation check: http://wiki.samba.org/index.php/Samba4

Bug reports should go to the: https://bugzilla.samba.org/

===============================================================================
Message from xfce4-tumbler-0.2.0:

To override the default configuration, you must copy the rc-file:

        mkdir ~/.config/tumbler
        cp /usr/local/etc/xdg/tumbler/tumbler.rc ~/.config/tumbler

The COVER plugin requires manual configuration.

For more information see http://docs.xfce.org/xfce/thunar/tumbler
Message from xfce4-terminal-0.8.6:

Some options could need manual change to ~/.config/xfce4/terminal/terminalrc:

To reduce the height of tabs, add the hidden 'MiscSlimTabs' option:

MiscSlimTabs=TRUE

By default this option is not defined.

If you have configured a custom color cursor you will also need to add:

ColorCursorUseDefault=FALSE

to have such configuration still working, otherwise reconfigure the color
in the GUI.

Keep in mind, when you change an option in Preferences window, this file
is overwritten.
Message from xfce4-session-4.12.1_4:

To be able to shutdown or reboot your system, you'll have to add .rules
files in /usr/local/etc/polkit-1/rules.d directory. Which looks
like this (replace PUTYOURGROUPHERE by your group):

polkit.addRule(function (action, subject) {
  if ((action.id == "org.freedesktop.consolekit.system.restart" ||
      action.id == "org.freedesktop.consolekit.system.stop")
      && subject.isInGroup("PUTYOURGROUPHERE")) {
    return polkit.Result.YES;
  }
});

For those who have working suspend/resume:

polkit.addRule(function (action, subject) {
  if (action.id == "org.freedesktop.consolekit.system.suspend"
      && subject.isInGroup("PUTYOURGROUPHERE")) {
    return polkit.Result.YES;
  }
});
root@bsd11:~ #

 

proc filesystem 추가 

root@bsd11:~ # vi /etc/fstab
proc            /proc           procfs          rw      0       0

 

xfce4 실행 스크립트 작성 (사용하는 유저로 작업을 해야 합니다.)

root@bsd11:~ # su - test
$ echo "#!/bin/sh" > ~/.xsession
$ echo "exec /usr/local/bin/startxfce4 --with-ck-launch" >> ~/.xinitrc
$ chmod +x ~/.xinitrc

 

slim install (Simple Login Manager)

xfce 의 경우 로그인 화면을 따로 제공하지 않기 때문에 slim 을 설치 합니다. 

root@bsd11:~ # pkg install slim

 

/etc/rc.conf 실행스크립트 추가 

# Xfce4 Settings
dbus_enable="YES"
hald_enable="YES"
slim_enable="YES"
moused_enable="YES"

 

리부팅후 확인

 

 

기본적인 FreeBSD Desktop 설정이 끝났습니다.

한글설정의 경우 ibus 또는 scim 을 이용해야 할것 같습니다.

 

 

FreeBSD cacati percona nginx 템플릿 이용시 반드시 input method 스크립트의 변경이 필요 합니다. 

해당내용의 변경 없이 템플릿을 사용하면 정상적인 모니터링이 불가능 합니다.

 

기존 APM 환경에서 Nginx 로 web server 만 변경 하였기 때문에 cacti.conf 를 추가 하는 방법으로 테스트를 진행하였습니다.

 

 

cacti.conf 파일 생성 

root@bsd11:/usr/local/etc/nginx/conf.d #
root@bsd11:/usr/local/etc/nginx/conf.d # vi cacti.conf
server {
    listen       80;
    server_name  cacti.crois.net;
    index        index.php index.html index.htm;
    root         /usr/local/share;

    location /cacti {
        try_files   $uri $uri/ /index.php?$query_string;
        autoindex on;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
        fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include fastcgi_params;
    }
        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 7d;
        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }
}
root@bsd11:/usr/local/etc/nginx/conf.d #

 

default.conf 파일 수정

root@bsd11:/usr/local/etc/nginx/conf.d # 
root@bsd11:/usr/local/etc/nginx/conf.d # vi default.conf
server {
    listen       80 default_server;
    server_name  localhost _;
    index        index.php index.html index.htm;
    root         /var/www/test.crois.net;

    location / {
        try_files   $uri $uri/ /index.php?$query_string;
        autoindex on;
    }

    location /server-status {
        stub_status on;
        allow 127.0.0.1;
        #deny all;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
        fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include fastcgi_params;
    }
}

localtion 항목 추가

 

root@bsd11:~ # 
root@bsd11:~ # service nginx restart
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Stopping nginx.
Waiting for PIDS: 4123.
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
root@bsd11:~ #

root@bsd11:~ # curl http://localhost/server-status
Active connections: 1
server accepts handled requests
 1 1 1
Reading: 0 Writing: 1 Waiting: 0
root@bsd11:~ #

 

Nginx 템플릿 추가

root@bsd11:~ #
root@bsd11:~ #
root@bsd11:~ # php /usr/local/share/cacti/cli/import_template.php --filename=/usr/local/share/percona-monitoring-plugins/cacti/templates/cacti_host_template_percona_nginx_server_ht_0.8.6i-sver1.1.3.xml
Read 42601 bytes of XML data
Import ResultsCacti has imported the following items for the Template:
CDEF
[success] Percona Turn Into Bits CDEF [unchanged]
[success] Percona Negate CDEF [unchanged]
GPRINT Preset
[success] Percona Nginx Server Checksum 9d9b37b126648a09bb56030a539e8b2e [new]
[success] Percona Nginx Server Version t1.1.3:s1.1.3 [new]
[success] Percona Normal [unchanged]
Data Input Method
[success] Percona Get Nginx Stats/Nginx Requests IM [new]
[success] Percona Get Nginx Stats/Nginx Accepts/Handled IM [new]
[success] Percona Get Nginx Stats/Nginx Scoreboard IM [new]
Data Template
[success] Percona Nginx Requests DT [new]
[success] Percona Nginx Accepts/Handled DT [new]
[success] Percona Nginx Scoreboard DT [new]
Graph Template
[success] Percona Nginx Requests GT [new]
[success] Percona Nginx Accepts/Handled GT [new]
[success] Percona Nginx Scoreboard GT [new]
Device Template
[success] Percona Nginx Server HT [new]
root@bsd11:~ #

 

Data Collection -> Data Input Methods 

Percona Get Nginx Stats/Nginx Accepts/Handled IM 

Percona Get Nginx Stats/Nginx Requests IM

Percona Get Nginx Stats/Nginx Scoreboard IM 

을 편집 합니다. 

 

Percona Get Nginx Stats/Nginx Accepts/Handled IM 수정

Input Sting 수정

수정전 

<path_php_binary> -q <path_cacti>/scripts/ss_get_by_ssh.php --host <hostname> --type nginx --items hx,hy 
--server <server> --url <url> --http-user <http-user> --http-password <password>

 

수정후 

<path_php_binary> -q <path_cacti>/scripts/ss_get_by_ssh.php --host <hostname> --type nginx --items hx,hy

 

Save 를 클릭 하여 저장을 합니다.

동일하게 설정 합니다.

 

Management -> Devices 로 이동하여 Nginx-Server Device 를 생성 합니다.

 

Create Graphs for this Device 를 클릭하여 그래프를 생성 합니다.

 

Graphs 로 이동하여 모니터링 결과를 확인 합니다. (약 5 ~ 10분 정도 시간이 걸립니다.)

 

cacti 유저 변경후 ss_get_by_ssh.php 스크립트 확인

root@bsd11:~ # 
root@bsd11:~ # su - cacti
% php /usr/local/share/cacti/scripts/ss_get_by_ssh.php --type nginx --host 127.0.0.1 --items hw,hx
hw:1 hx:56%

 

cacti log (/var/log/cacti/log file) 정상적인 경우

2017-11-22 21:32:00 - SPINE: Poller[1] DEBUG: In Poller, About to Start Polling of Device for Device ID 6
2017-11-22 21:32:00 - SPINE: Poller[1] Device[6] DEBUG: Entering SNMP Ping
2017-11-22 21:32:00 - SPINE: Poller[1] Updating Full System Information Table
2017-11-22 21:32:00 - SPINE: Poller[1] Device[6] TH[1] Device has no information for recache.
2017-11-22 21:32:00 - SPINE: Poller[1] Device[6] TH[1] NOTE: There are '1' Polling Items for this Device
2017-11-22 21:32:00 - SPINE: Poller[1] Device[6] DEBUG: The NIFTY POPEN returned the following File Descriptor 7

2017-11-22 21:32:00 - SPINE: Poller[1] Device[6] TH[1] DS[34] SCRIPT: /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php --host '127.0.0.1' --type nginx --items hx,hy , output: hx:46196 hy:46196


2017-11-22 21:32:00 - SPINE: Poller[1] Device[6] TH[1] Total Time:  0.42 Seconds
2017-11-22 21:32:00 - SPINE: Poller[1] Device[6] TH[1] DEBUG: HOST COMPLETE: About to Exit Device Polling Thread Function
2017-11-22 21:32:00 - SPINE: Poller[1] DEBUG: The Value of Active Threads is 0 for Device ID 6
2017/11/22 21:32:02 - SYSTEM STATS: Time:2.3135 Method:spine Processes:2 Threads:16 Hosts:2 HostsPerProcess:1 DataSources:2 RRDsProcessed:4
2017-11-22 21:33:00 - SPINE: Poller[1] DEBUG: In Poller, About to Start Polling of Device for Device ID 6
2017-11-22 21:33:00 - SPINE: Poller[1] Device[6] DEBUG: Entering SNMP Ping
2017-11-22 21:33:00 - SPINE: Poller[1] Updating Full System Information Table
2017-11-22 21:33:00 - SPINE: Poller[1] Device[6] TH[1] Device has no information for recache.
2017-11-22 21:33:00 - SPINE: Poller[1] Device[6] TH[1] NOTE: There are '1' Polling Items for this Device
2017-11-22 21:33:00 - SPINE: Poller[1] Device[6] DEBUG: The NIFTY POPEN returned the following File Descriptor 7

2017-11-22 21:33:00 - SPINE: Poller[1] Device[6] TH[1] DS[35] SCRIPT: /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php --host '127.0.0.1' --type nginx --items hz , output: hz:191937


2017-11-22 21:33:00 - SPINE: Poller[1] Device[6] TH[1] Total Time: 0.086 Seconds
2017-11-22 21:33:00 - SPINE: Poller[1] Device[6] TH[1] DEBUG: HOST COMPLETE: About to Exit Device Polling Thread Function
2017-11-22 21:33:00 - SPINE: Poller[1] DEBUG: The Value of Active Threads is 0 for Device ID 6
2017/11/22 21:33:02 - SYSTEM STATS: Time:2.2942 Method:spine Processes:2 Threads:16 Hosts:2 HostsPerProcess:1 DataSources:2 RRDsProcessed:4
2017-11-22 21:34:00 - SPINE: Poller[1] DEBUG: In Poller, About to Start Polling of Device for Device ID 6
2017-11-22 21:34:00 - SPINE: Poller[1] Device[6] DEBUG: Entering SNMP Ping
2017-11-22 21:34:00 - SPINE: Poller[1] Updating Full System Information Table
2017-11-22 21:34:00 - SPINE: Poller[1] Device[6] TH[1] Device has no information for recache.
2017-11-22 21:34:00 - SPINE: Poller[1] Device[6] TH[1] NOTE: There are '1' Polling Items for this Device
2017-11-22 21:34:00 - SPINE: Poller[1] Device[6] DEBUG: The NIFTY POPEN returned the following File Descriptor 7

2017-11-22 21:34:00 - SPINE: Poller[1] Device[6] TH[1] DS[36] SCRIPT: /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php --host '127.0.0.1' --type nginx --items hw,ig,ih,ii , output: hw:101 ig:0 ih:98 ii:3


2017-11-22 21:34:00 - SPINE: Poller[1] Device[6] TH[1] Total Time:  0.11 Seconds
2017-11-22 21:34:00 - SPINE: Poller[1] Device[6] TH[1] DEBUG: HOST COMPLETE: About to Exit Device Polling Thread Function
2017-11-22 21:34:00 - SPINE: Poller[1] DEBUG: The Value of Active Threads is 0 for Device ID 6
2017/11/22 21:34:02 - SYSTEM STATS: Time:2.2448 Method:spine Processes:2 Threads:16 Hosts:2 HostsPerProcess:1 DataSources:2 RRDsProcessed:4

output: 메세지에 -1 이 아닌 정상적인 값이 출력 됩니다.

 

Data Input Methods 수정을 안할경우 아래와 같은 메시지가 출력 됩니다. 

output: 메시지에 -1 이 출력 됩니다.

 

정상적으로 모니터링이 되지 않아 Debug 모드 enable 후 /var/log/cacti/log 확인 하였지만 정상적으로 그래프 생성이 안되는 것을 확인 하였습니다.

단, log 확인시 –server , –url , –http-user , –http-password 필드 사용시 문제가 되는것을 확인 하였습니다.

 

cacti log (/var/log/cacti/log file) 비정상인 경우 

2017-11-22 03:36:00 - SPINE: Poller[1] Device[5] TH[1] DS[31] SCRIPT: /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php 
--host '127.0.0.1' --type nginx --items hx,hy --server '' --url '' --http-user '' --http-password , 
output: hx:-1 hy:-1


2017-11-22 03:36:00 - SPINE: Poller[1] Device[5] DEBUG: The NIFTY POPEN returned the following File Descriptor 7
2017-11-22 03:36:00 - SPINE: Poller[1] Device[5] TH[1] DS[32] SCRIPT: /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php 
--host '127.0.0.1' --type nginx --items hz --server '' --url '' --http-user '' --http-password , 
output: hz:-1


2017-11-22 03:36:00 - SPINE: Poller[1] Device[5] DEBUG: The NIFTY POPEN returned the following File Descriptor 7
2017-11-22 03:36:01 - SPINE: Poller[1] Device[5] TH[1] DS[33] SCRIPT: /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php 
--host '127.0.0.1' --type nginx --items hw,ig,ih,ii --server '' --url '' --http-user '' --http-password , 
output: hw:-1 ig:-1 ih:-1 ii:-1

output: -1 로 나오는것을 확인 할수 있습니다.

 

cacti User 테스트 

root@bsd11:~/.ssh # su - cacti
% /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php --host '127.0.0.1' --type nginx 
--items hw,ig,ih,ii --server '' --url '' --http-user '' --http-password ''
hw:-1 ig:-1 ih:-1 ii:-1%

모든 값이 -1 값으로 나옵니다.

 

필드 제거후 테스트

% /usr/local/bin/php -q /usr/local/share/cacti/scripts/ss_get_by_ssh.php --host '127.0.0.1' --type nginx --items hw,ig,ih,ii
hw:51 ig:0 ih:50 ii:1%

정상값을 확인 할수 있습니다.

 

 

FreeBSD Ports 를 이용하여 Nginx 를 설치 합니다.

Ports 로 설치 할때는 반드시 Ports Tree 를 업데이트 해야 합니다.

Test Machine 의 경우 Apache24-Mariadb102-php71 이 설치 되어 있는 관계로

Mariadb102 설치와 php71 설치 내용은 별도로 작성 하지 않겠습니다.

 

Ports 트리 업데이트

root@bsd11:~ # 
root@bsd11:~ # portsnap fetch
root@bsd11:~ # portsnap update
root@bsd11:~ # portsnap fetch update

 

2017년 11월 기준 ports nginx version 은 1.12.2 Version 입니다.

root@bsd11:/usr/ports # make search name=nginx
Port:   nginx-1.12.2_1,2
Path:   /usr/ports/www/nginx
Info:   Robust and small WWW server
Maint:  joneum@FreeBSD.org
B-deps: pcre-8.40_1
R-deps: pcre-8.40_1
WWW:    http://nginx.org/

 

설치

root@bsd11:~ # 
root@bsd11:~ # cd /usr/ports/www/nginx && make install clean

옵션선택

HTTP_GEOIP
HTTP_PERL
HTTP_IMAGE_FILTER
HTTP_AUTH_PAM
HTTP_DAV_EXT
HTTP_IMAGE_FILTER
HTTP_SUBS_FILTER
HTTP_ZIP
ECHO
HTTP_UPSTREAM_FAIR
HTTP_XSLT

OK 를 눌러 설치를 진행 합니다.

설치완료후 메세지

===================================================================
Recent version of the NGINX introduces dynamic modules support.  In
FreeBSD ports tree this feature was enabled by default with the DSO
knob.  Several vendor's and third-party modules have been converted
to dynamic modules.  Unset the DSO knob builds an NGINX without
dynamic modules support.

To load a module at runtime, include the new `load_module'
directive in the main context, specifying the path to the shared
object file for the module, enclosed in quotation marks.  When you
reload the configuration or restart NGINX, the module is loaded in.
It is possible to specify a path relative to the source directory,
or a full path, please see
https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/ and
http://nginx.org/en/docs/ngx_core_module.html#load_module for
details.

Default path for the NGINX dynamic modules is

/usr/local/libexec/nginx.
===================================================================

===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/sbin/nginx

      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/nginx

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://nginx.org/
===>  Cleaning for GeoIP-1.6.11
===>  Cleaning for libgd-2.2.4_1,1
===>  Cleaning for tiff-4.0.8
===>  Cleaning for jbigkit-2.1_1
===>  Cleaning for webp-0.6.0_4
===>  Cleaning for giflib-5.1.4
===>  Cleaning for nginx-1.12.2_1,2
root@bsd11:/usr/ports/www/nginx # rehash

 

/etc/rc.conf 파일 수정

root@bsd11:~ # 
root@bsd11:~ # vi /etc/rc.conf

php_fpm_enable="YES"
nginx_enable="YES"

 

php-fpm 설정 및  Daemon Start

root@bsd11:~ # 
root@bsd11:~ # cd /usr/local/etc/php-fpm.d/
root@bsd11:/usr/local/etc/php-fpm.d #
root@bsd11:/usr/local/etc/php-fpm.d # vi www.conf
listen.owner = www
listen.group = www
listen.mode = 0660


root@bsd11:~ # service php-fpm start
Performing sanity check on php-fpm configuration:
[19-Nov-2017 20:23:54] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful

Starting php_fpm.
root@bsd11:~ #

 

Daemon 구동 확인

root@bsd11:~ # sockstat -4
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
www      php-fpm    1179  0  tcp4   127.0.0.1:9000        *:*
www      php-fpm    1178  0  tcp4   127.0.0.1:9000        *:*
root     php-fpm    1177  8  tcp4   127.0.0.1:9000        *:*

 

GeoIP 설정

root@bsd11:~ # 
root@bsd11:~ # wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
--2017-11-19 22:20:02--  http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
Resolving geolite.maxmind.com (geolite.maxmind.com)... 104.16.37.47, 104.16.38.47, 2400:cb00:2048:1::6810:262f, ...
Connecting to geolite.maxmind.com (geolite.maxmind.com)|104.16.37.47|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 674238 (658K) [application/octet-stream]
Saving to: 'GeoIP.dat.gz'

GeoIP.dat.gz                                                        100%[==================================================================================================================================================================>] 658.44K  --.-KB/s    in 0.06s

2017-11-19 22:20:02 (11.0 MB/s) - 'GeoIP.dat.gz' saved [674238/674238]

root@bsd11:~ #  wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
--2017-11-19 22:20:22--  http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
Resolving geolite.maxmind.com (geolite.maxmind.com)... 104.16.38.47, 104.16.37.47, 2400:cb00:2048:1::6810:252f, ...
Connecting to geolite.maxmind.com (geolite.maxmind.com)|104.16.38.47|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11793186 (11M) [application/octet-stream]
Saving to: 'GeoLiteCity.dat.gz'

GeoLiteCity.dat.gz                                                  100%[==================================================================================================================================================================>]  11.25M  13.2MB/s    in 0.9s

2017-11-19 22:20:24 (13.2 MB/s) - 'GeoLiteCity.dat.gz' saved [11793186/11793186]

root@bsd11:~ #
root@bsd11:~ # gunzip ./GeoLiteCity.dat.gz
root@bsd11:~ # gunzip ./GeoIP.dat.gz
root@bsd11:~ # mv Geo* /usr/local/share/GeoIP/

 

Nginx 설정 (nginx.conf 파일수정)

root@bsd11:~ #
root@bsd11:~ # cd /usr/local/etc/nginx/
root@bsd11:/usr/local/etc/nginx # vi nginx.conf
root@bsd11:/usr/local/etc/nginx # cp nginx.conf nginx.conf.org
root@bsd11:/usr/local/etc/nginx # vi nginx.conf
user  www www;
worker_processes  4;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
### Load Modules###
load_module "/usr/local/libexec/nginx/ngx_http_geoip_module.so";

events {
    worker_connections  1024;
}
http {
    geoip_country /usr/local/share/GeoIP/GeoIP.dat;
    geoip_city /usr/local/share/GeoIP/GeoLiteCity.dat;
    include /usr/local/etc/nginx/mime.types;
    default_type application/octet-stream;
    access_log off;
    server_tokens off;
    sendfile on;
    client_max_body_size 200m;
    client_body_buffer_size 1m;
    keepalive_timeout 1;
    port_in_redirect off;
    gzip on;
    gzip_http_version 1.1;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/x-javascript application/xml application/xml+rss text/javascript;
    gzip_buffers 16 8k;
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    include /usr/local/etc/nginx/conf.d/*.conf;
}

Load Modules 의 경우 geoip 사용을 위하여 load_module 을 추가 하였습니다.

 

fastcgi_params 수정

root@bsd11:/usr/local/etc/nginx # 
root@bsd11:/usr/local/etc/nginx # vi fastcgi_params
#GeoIp Setting
fastcgi_param GEOIP_ADDR $remote_addr;
fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
fastcgi_param GEOIP_REGION $geoip_region;
fastcgi_param GEOIP_REGION_NAME $geoip_region_name;
fastcgi_param GEOIP_CITY $geoip_city;
fastcgi_param GEOIP_AREA_CODE $geoip_area_code;
fastcgi_param GEOIP_LATITUDE $geoip_latitude;
fastcgi_param GEOIP_LONGITUDE $geoip_longitude;
fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code;
fastcgi_param GEOIP_ORGANIZATION $geoip_org;

 

conf.d 디렉토리 생성 및 Directory 생성

root@bsd11:~ #
root@bsd11:~ # mkdir /usr/local/etc/nginx/conf.d
root@bsd11:~ #
root@bsd11:~ # mkdir -p /var/www/test.com
root@bsd11:~ # chown www:www /var/www/test.com
root@bsd11:~ # chmod 755 /var/www/test.com

 

phpinfo 페이지 생성

root@bsd11:~ #
root@bsd11:~ # sh -c 'echo "<?php phpinfo(); ?>" > /var/www/test.com/index.php'

 

test.com.conf 파일 생성 

root@bsd11:~ # 
root@bsd11:~ # cd /usr/local/etc/nginx/conf.d/
root@bsd11:/usr/local/etc/nginx/conf.d # vi test.com.conf

server {
    listen       80;
    server_name  localhost _;
    index        index.php index.html index.htm;
    root         /var/www/test.com;

    location / {
        try_files   $uri $uri/ /index.php?$query_string;
        autoindex on;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
        fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        include fastcgi_params;
    }
}

 

Nginx 실행

root@bsd11:~ # 
root@bsd11:~ # service nginx restart
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Stopping nginx.
Waiting for PIDS: 4815.
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
root@bsd11:~ # sockstat -4
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
www      nginx      4865  7  tcp4   *:80                  *:*
www      nginx      4864  7  tcp4   *:80                  *:*
www      nginx      4863  7  tcp4   *:80                  *:*
www      nginx      4862  7  tcp4   *:80                  *:*
root     nginx      4861  7  tcp4   *:80                  *:*

 

웹브라우저 확인

Percona apache 템플릿을 이용하기 위해서는 ss_get_by_ssh.php 스크립트의 수정이 필요 하며

cacti 계정이 접속 할수 있도록 cshs 작업이 필요 합니다.

 

Apache httpd.conf 파일 수정 및 apache 재시작

root@bsd11:~ # 
root@bsd11:~ # cd /usr/local/etc/apache24/
root@bsd11:/usr/local/etc/apache24 # vi httpd.conf
<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from localhost
</Location>
root@bsd11:~ # service apache24 restart

Allow from Domain 또는 localhost 로 설정 합니다.

 

Percona Apache 템플릿을 import 합니다.

root@bsd11:~ #
root@bsd11:~ #
root@bsd11:~ # php /usr/local/share/cacti/cli/import_template.php --filename=/usr/local/share/percona-monitoring-plugins/cacti/templates/cacti_host_template_percona_apache_server_ht_0.8.6i-sver1.1.3.xml
Read 74554 bytes of XML data
Import ResultsCacti has imported the following items for the Template:
CDEF
[success] Percona Turn Into Bits CDEF [unchanged]
[success] Percona Negate CDEF [unchanged]
GPRINT Preset
[success] Percona Apache Server Version t1.1.3:s1.1.3 [new]
[success] Percona Apache Server Checksum e5bcdec29950a544697949887ac841b4 [new]
[success] Percona Normal [unchanged]
Data Input Method
[success] Percona Get Apache Stats/Apache Requests IM [new]
[success] Percona Get Apache Stats/Apache Bytes IM [new]
[success] Percona Get Apache Stats/Apache CPU Load IM [new]
[success] Percona Get Apache Stats/Apache Workers IM [new]
[success] Percona Get Apache Stats/Apache Scoreboard IM [new]
Data Template
[success] Percona Apache Requests DT [new]
[success] Percona Apache Bytes DT [new]
[success] Percona Apache CPU Load DT [new]
[success] Percona Apache Workers DT [new]
[success] Percona Apache Scoreboard DT [new]
Graph Template
[success] Percona Apache Requests GT [new]
[success] Percona Apache Bytes GT [new]
[success] Percona Apache CPU Load GT [new]
[success] Percona Apache Workers GT [new]
[success] Percona Apache Scoreboard GT [new]
Device Template
[success] Percona Apache Server HT [new]
root@bsd11:~ #

 

ss_get_by_ssh.php 스크립트 수정 및 퍼미션 변경

root@bsd11:~ # 
root@bsd11:~ # cd /usr/local/share/cacti/scripts/
root@bsd11:/usr/local/share/cacti/scripts # vi ss_get_by_ssh.php
$ssh_user   = 'cacti';                           # SSH username
$ssh_port   = 22;                                # SSH port
$ssh_iden   = '-i /usr/share/cacti/cacti/.ssh/id_rsa'; # SSH identity

root@bsd11:/usr/local/share/cacti/scripts # chown cacti:cacti ss_get_by_ssh.php

 

cacti 유저 디렉토리 생성

root@bsd11:~ # cd /usr/local/share/cacti/
root@bsd11:/usr/local/share/cacti # mkdir -p cacti/.ssh
root@bsd11:/usr/local/share/cacti # chown -R cacti:cacti cacti/

 

chsh 명령어를 사용하여 cacti 유저 데이터베이스 파일을 변경합니다.

root@bsd11:~ #
root@bsd11:~ #
root@bsd11:~ # chsh cacti
#Changing user information for cacti.
Login: cacti
Password: *
Uid [#]: 107
Gid [# or name]: 107
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /usr/local/share/cacti/cacti
Shell: /bin/csh
Full Name: Cacti Sandbox
Office Location:
Office Phone:
Home Phone:
Other information:

cacti 유저와는 별도로 다른유저로 생성을 하였지만 정상적으로 그래프를 생성하지 못하였습니다.

 

ssh-key 생성

root@bsd11:~ #
root@bsd11:~ #
root@bsd11:~ # su - cacti
% pwd
/usr/local/share/cacti/cacti
% ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/usr/local/share/cacti/cacti/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /usr/local/share/cacti/cacti/.ssh/id_rsa.
Your public key has been saved in /usr/local/share/cacti/cacti/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4 cacti@bsd11
The key's randomart image is:
+---[RSA 2048]----+
|     ..oo.+.     |
|      .  *       |
|        = .      |
|         O o     |
|      . S O      |
|.    . + B =     |
|.+  .   o @ .    |
|+o+.+    o =.    |
|=XXE..     .o.   |
+----[SHA256]-----+
%
% cd .ssh/
% cat id_rsa.pub >> authorized_keys
% chmod 600 authorized_keys

 

ssh 접속 테스트

%
% ssh 127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:nIS4vw3Qw73/gmtI4JHoLs3h89qMlBRF68h8qfklpt8.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
FreeBSD 11.1-RELEASE (GENERIC) #0 r321309: Fri Jul 21 02:08:28 UTC 2017

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List: https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

Edit /etc/motd to change this login announcement.
% logout
Connection to 127.0.0.1 closed.
%
% ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:nIS4vw3Qw73/gmtI4JHoLs3h89qMlBRF68h8qfklpt8.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Last login: Sun Nov 19 02:33:19 2017 from localhost
FreeBSD 11.1-RELEASE (GENERIC) #0 r321309: Fri Jul 21 02:08:28 UTC 2017

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List: https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

Edit /etc/motd to change this login announcement.
% logout
Connection to localhost closed.
%

 

ss_get_by_ssh.php 스크립트 테스트 ( cacti 유저를 이용합니다.)

정상

% php /usr/local/share/cacti/scripts/ss_get_by_ssh.php --type apache0.0.1 --items gg,gh
gg:1 gh:2048%

 

 

비정상 

% php /usr/local/share/cacti/scripts/ss_get_by_ssh.php --type apache --host 127.0.0.1 --items gg,gh
gg:-1 gh:-1%

비정상일 경우 gg:-1 , gh: -1 로 값이 표기 됩니다.

 

웹브라우저 설정

Templates -> Data Source 에서 apache 템플릿을 검색 합니다.

 

Apache 템플릿을 클릭하여 Hostname 을 localhost 로 변경 합니다.

 

Management -> Devices 로 이동합니다.

ADD 버튼을 클릭하여 Device 를 추가 합니다.

 

Description : Apache-Server

Hostname : 127.0.0.1

Device Template : Percona Apache Server HP

Create 버튼을 클릭합니다.

 

Create Graphs for this Device 를 클릭합니다.

(우측상단)

 

모니터링 항목을 선택후 Create 버튼을 클릭합니다.

 

Graphs 메뉴를 클릭후 Device 를 Apache-Server 로 변경 하여 모니터링을 합니다.

최초 그래프 생성까지 약 5분 ~ 10분 정도 소요 됩니다.

 

모니터링 결과값 확인 (15분 경과)

 

/var/log/auth.log 확인

정상적인 로그

root@bsd11:~ # tail -f /var/log/auth.log
Nov 19 02:58:00 bsd11 sshd[2023]: Accepted publickey for cacti from 127.0.0.1 port 57872 ssh2: RSA SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4
Nov 19 02:58:00 bsd11 sshd[2025]: Received disconnect from 127.0.0.1 port 57872:11: disconnected by user
Nov 19 02:58:00 bsd11 sshd[2025]: Disconnected from 127.0.0.1 port 57872
Nov 19 03:00:10 bsd11 sshd[2126]: Accepted publickey for cacti from 127.0.0.1 port 51733 ssh2: RSA SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4
Nov 19 03:00:10 bsd11 sshd[2128]: Received disconnect from 127.0.0.1 port 51733:11: disconnected by user
Nov 19 03:00:10 bsd11 sshd[2128]: Disconnected from 127.0.0.1 port 51733
Nov 19 03:01:00 bsd11 sshd[2292]: Accepted publickey for cacti from 127.0.0.1 port 41944 ssh2: RSA SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4
Nov 19 03:01:00 bsd11 sshd[2295]: Received disconnect from 127.0.0.1 port 41944:11: disconnected by user
Nov 19 03:01:00 bsd11 sshd[2295]: Disconnected from 127.0.0.1 port 41944
Nov 19 03:02:21 bsd11 sshd[2450]: Accepted keyboard-interactive/pam for root from 112.187.207.28 port 12688 ssh2
Nov 19 03:04:00 bsd11 sshd[2502]: Accepted publickey for cacti from 127.0.0.1 port 17207 ssh2: RSA SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4
Nov 19 03:04:01 bsd11 sshd[2504]: Received disconnect from 127.0.0.1 port 17207:11: disconnected by user
Nov 19 03:04:01 bsd11 sshd[2504]: Disconnected from 127.0.0.1 port 17207

 

비정상적인 로그

root@bsd11:~ # tail -f /var/log/auth.log
Nov 19 03:00:10 bsd11 sshd[2126]: Accepted publickey for cacti from 127.0.0.1 port 51733 ssh2: RSA SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4
Nov 19 03:00:10 bsd11 sshd[2128]: Received disconnect from 127.0.0.1 port 51733:11: disconnected by user
Nov 19 03:00:10 bsd11 sshd[2128]: Disconnected from 127.0.0.1 port 51733
Nov 19 03:00:10 bsd11 sshd[2128]: error: PAM: authentication error for cacti from localhost
Nov 19 03:01:00 bsd11 sshd[2292]: Accepted publickey for cacti from 127.0.0.1 port 41944 ssh2: RSA SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4
Nov 19 03:01:00 bsd11 sshd[2295]: Received disconnect from 127.0.0.1 port 41944:11: disconnected by user
Nov 19 03:01:00 bsd11 sshd[2295]: Disconnected from 127.0.0.1 port 41944
Nov 19 03:00:10 bsd11 sshd[2128]: error: PAM: authentication error for cacti from localhost
Nov 19 03:02:21 bsd11 sshd[2450]: Accepted keyboard-interactive/pam for root from 112.187.207.28 port 12688 ssh2
Nov 19 03:04:00 bsd11 sshd[2502]: Accepted publickey for cacti from 127.0.0.1 port 17207 ssh2: RSA SHA256:8eb2tpB5MIkPhVlhgFT7iel8wyDq4ic3yu6Dvmuwuf4
Nov 19 03:04:01 bsd11 sshd[2504]: Received disconnect from 127.0.0.1 port 17207:11: disconnected by user
Nov 19 03:04:01 bsd11 sshd[2504]: Disconnected from 127.0.0.1 port 17207

Nov 19 03:00:10 bsd11 sshd[2128]: error: PAM: authentication error for cacti from localhost 메시지가 출력 됩니다.

 

 

Mariadb 모니터링

Cacti 설치시 시스템의 Disk , Network , Memory , CPU 등의 자원을 모니터링 할수 있습니다.

Percona 설치후 Apache , Nginx , mysql 등의 서비스를 모니터링 할수 있습니다.

자세한 내용은 Percona Site 에서 확인 하실수 있습니다.

Percona Site 에서 확인시 아래와 같은 Templaters 를 사용할수 있으며  Freebsd 에서는

Templaters for Cacti

Percona Monitoring Plugins for Cacti
Frequently Asked Questions on Cacti Templates
Installing Percona Monitoring Plugins for Cacti
Customizing Percona Monitoring Plugins for Cacti
Percona MySQL Monitoring Template for Cacti
Percona Galera/MySQL Monitoring Template for Cacti
Installing SSH-Based Templates
Percona Apache Monitoring Template for Cacti
Percona JMX Monitoring Template for Cacti
Percona Linux Monitoring Template for Cacti
Percona Memcached Monitoring Template for Cacti
Percona MongoDB Monitoring Template for Cacti
Percona Nginx Monitoring Template for Cacti
Percona OpenVZ Monitoring Template for Cacti
Percona Redis Monitoring Template for Cacti
Percona Amazon RDS Monitoring Template for Cacti
Cacti Templates Developer Documentation
Hardening Cacti setup
Upgrading Percona Monitoring Plugins for Cacti

 

freebsd percona-plugins ports 설치시 제공 템플릿

apache_server
galera_server
gnu_linux_server
jmx_server
memcached_server
mongodb_server
mysql_server
nginx_server
openvz_server
rds_server
redis_server

 

percona plugins 설치

root@bsd11:~ # 
root@bsd11:~ # whereis percona-monitoring-plugins
percona-monitoring-plugins: /usr/ports/net-mgmt/percona-monitoring-plugins
root@bsd11:~ # cd /usr/ports/net-mgmt/percona-monitoring-plugins/ && make install clean

 

설치완료후 메세지

====> Compressing man pages (compress-man)
===>  Installing for percona-monitoring-plugins-1.1.3_3
===>  Checking if percona-monitoring-plugins already installed
===>   Registering installation for percona-monitoring-plugins-1.1.3_3
Installing percona-monitoring-plugins-1.1.3_3...
===>  Cleaning for p5-DBD-mysql-4.043
===>  Cleaning for p5-DBI-1.637
===>  Cleaning for p5-Devel-CheckLib-1.11
===>  Cleaning for bash-4.4.12_3
===>  Cleaning for wget-1.19.2
===>  Cleaning for libidn2-2.0.4
===>  Cleaning for libunistring-0.9.7
===>  Cleaning for percona-monitoring-plugins-1.1.3_3
root@bsd11:/usr/ports/net-mgmt/percona-monitoring-plugins #

 

percona-scripts 설정

root@bsd11:~ # 
root@bsd11:/usr/local/share/cacti/scripts # vi ss_get_mysql_stats.php
$mysql_user = 'cacti';
$mysql_pass = 'password';
$mysql_port = 3306;


 

mysql 설정

root@bsd11:~ #
root@bsd11:~ #
root@bsd11:~ # mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 57
Server version: 10.2.10-MariaDB-log FreeBSD Ports

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> GRANT SUPER, PROCESS ON *.* TO 'cacti'@'%' IDENTIFIED BY "password";
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;
Bye
root@bsd11:~ #

 

 

 

/usr/local/share/percona-monitoring-plugins/cacti/templates 디렉토리에 모니터링을 할수 있는 Daemon 의 템플릿들이 있습니다. 

ex) mysql , apache 등등

root@bsd11:/usr/local/share/percona-monitoring-plugins/cacti/templates # ls
cacti_host_template_percona_apache_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_galera_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_gnu_linux_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_jmx_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_memcached_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_mongodb_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_nginx_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_openvz_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_rds_server_ht_0.8.6i-sver1.1.3.xml
cacti_host_template_percona_redis_server_ht_0.8.6i-sver1.1.3.xml
root@bsd11:/usr/local/share/percona-monitoring-plugins/cacti/templates #

 

mysql 템플릿 추가

root@bsd11:~ # 
root@bsd11:~ # 
root@bsd11:~ # php /usr/local/share/cacti/cli/import_template.php --filename=/usr/local/share/percona-monitoring-plugins/cacti/templates/cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.1.3.xml
Read 888147 bytes of XML data
Import ResultsCacti has imported the following items for the Template:
CDEF
[success] Percona Turn Into Bits CDEF [unchanged]
[success] Percona Negate CDEF [unchanged]
GPRINT Preset
[success] Percona MySQL Server Checksum 348cfd8fa45fa8a5357ab261aa9b00ad [new]
[success] Percona MySQL Server Version t1.1.3:s1.1.3 [new]
[success] Percona Normal [unchanged]
Data Input Method
[success] Percona Get MySQL Stats/MyISAM Indexes IM [new]
[success] Percona Get MySQL Stats/MyISAM Key Cache IM [new]
[success] Percona Get MySQL Stats/InnoDB Buffer Pool IM [new]
[success] Percona Get MySQL Stats/InnoDB I/O IM [new]
[success] Percona Get MySQL Stats/InnoDB Insert Buffer IM [new]
[success] Percona Get MySQL Stats/InnoDB Insert Buffer Usage IM [new]
[success] Percona Get MySQL Stats/InnoDB Semaphores IM [new]
[success] Percona Get MySQL Stats/InnoDB Row Operations IM [new]
[success] Percona Get MySQL Stats/MySQL Table Locks IM [new]
[success] Percona Get MySQL Stats/MySQL Connections IM [new]
[success] Percona Get MySQL Stats/MySQL Replication IM [new]
[success] Percona Get MySQL Stats/MySQL Query Cache IM [new]
[success] Percona Get MySQL Stats/MySQL Query Cache Memory IM [new]
[success] Percona Get MySQL Stats/MySQL Command Counters IM [new]
[success] Percona Get MySQL Stats/MySQL Select Types IM [new]
[success] Percona Get MySQL Stats/MySQL Sorts IM [new]
[success] Percona Get MySQL Stats/MySQL Temporary Objects IM [new]
[success] Percona Get MySQL Stats/MySQL Network Traffic IM [new]
[success] Percona Get MySQL Stats/InnoDB Buffer Pool Activity IM [new]
[success] Percona Get MySQL Stats/InnoDB I/O Pending IM [new]
[success] Percona Get MySQL Stats/InnoDB Log IM [new]
[success] Percona Get MySQL Stats/MySQL Binary/Relay Logs IM [new]
[success] Percona Get MySQL Stats/InnoDB Transactions IM [new]
[success] Percona Get MySQL Stats/InnoDB Transactions Active/Locked IM [new]
[success] Percona Get MySQL Stats/MySQL Files and Tables IM [new]
[success] Percona Get MySQL Stats/MySQL Threads IM [new]
[success] Percona Get MySQL Stats/InnoDB Memory Allocation IM [new]
[success] Percona Get MySQL Stats/InnoDB Adaptive Hash Index IM [new]
[success] Percona Get MySQL Stats/InnoDB Internal Hash Memory Usage IM [new]
[success] Percona Get MySQL Stats/InnoDB Tables In Use IM [new]
[success] Percona Get MySQL Stats/InnoDB Current Lock Waits IM [new]
[success] Percona Get MySQL Stats/InnoDB Lock Structures IM [new]
[success] Percona Get MySQL Stats/InnoDB Checkpoint Age IM [new]
[success] Percona Get MySQL Stats/InnoDB Row Lock Time IM [new]
[success] Percona Get MySQL Stats/InnoDB Row Lock Waits IM [new]
[success] Percona Get MySQL Stats/InnoDB Semaphore Waits IM [new]
[success] Percona Get MySQL Stats/InnoDB Semaphore Wait Time IM [new]
[success] Percona Get MySQL Stats/MySQL Processlist IM [new]
[success] Percona Get MySQL Stats/MySQL Transaction Handler IM [new]
[success] Percona Get MySQL Stats/MySQL Handlers IM [new]
[success] Percona Get MySQL Stats/MySQL Query Time Histogram (Count) IM [new]
[success] Percona Get MySQL Stats/MySQL Query Response Time (Microseconds) IM [new]
[success] Percona Get MySQL Stats/InnoDB Buffer Pool Efficiency IM [new]
Data Template
[success] Percona MyISAM Indexes DT [new]
[success] Percona MyISAM Key Cache DT [new]
[success] Percona InnoDB Buffer Pool DT [new]
[success] Percona InnoDB I/O DT [new]
[success] Percona InnoDB Insert Buffer DT [new]
[success] Percona InnoDB Insert Buffer Usage DT [new]
[success] Percona InnoDB Semaphores DT [new]
[success] Percona InnoDB Row Operations DT [new]
[success] Percona MySQL Table Locks DT [new]
[success] Percona MySQL Connections DT [new]
[success] Percona MySQL Replication DT [new]
[success] Percona MySQL Query Cache DT [new]
[success] Percona MySQL Query Cache Memory DT [new]
[success] Percona MySQL Command Counters DT [new]
[success] Percona MySQL Select Types DT [new]
[success] Percona MySQL Sorts DT [new]
[success] Percona MySQL Temporary Objects DT [new]
[success] Percona MySQL Network Traffic DT [new]
[success] Percona InnoDB Buffer Pool Activity DT [new]
[success] Percona InnoDB I/O Pending DT [new]
[success] Percona InnoDB Log DT [new]
[success] Percona MySQL Binary/Relay Logs DT [new]
[success] Percona InnoDB Transactions DT [new]
[success] Percona InnoDB Transactions Active/Locked DT [new]
[success] Percona MySQL Files and Tables DT [new]
[success] Percona MySQL Threads DT [new]
[success] Percona InnoDB Memory Allocation DT [new]
[success] Percona InnoDB Adaptive Hash Index DT [new]
[success] Percona InnoDB Internal Hash Memory Usage DT [new]
[success] Percona InnoDB Tables In Use DT [new]
[success] Percona InnoDB Current Lock Waits DT [new]
[success] Percona InnoDB Lock Structures DT [new]
[success] Percona InnoDB Checkpoint Age DT [new]
[success] Percona InnoDB Row Lock Time DT [new]
[success] Percona InnoDB Row Lock Waits DT [new]
[success] Percona InnoDB Semaphore Waits DT [new]
[success] Percona InnoDB Semaphore Wait Time DT [new]
[success] Percona MySQL Processlist DT [new]
[success] Percona MySQL Transaction Handler DT [new]
[success] Percona MySQL Handlers DT [new]
[success] Percona MySQL Query Time Histogram (Count) DT [new]
[success] Percona MySQL Query Response Time (Microseconds) DT [new]
[success] Percona InnoDB Buffer Pool Efficiency DT [new]
Graph Template
[success] Percona MyISAM Indexes GT [new]
[success] Percona MyISAM Key Cache GT [new]
[success] Percona InnoDB Buffer Pool GT [new]
[success] Percona InnoDB I/O GT [new]
[success] Percona InnoDB Insert Buffer GT [new]
[success] Percona InnoDB Insert Buffer Usage GT [new]
[success] Percona InnoDB Semaphores GT [new]
[success] Percona InnoDB Row Operations GT [new]
[success] Percona MySQL Table Locks GT [new]
[success] Percona MySQL Connections GT [new]
[success] Percona MySQL Replication GT [new]
[success] Percona MySQL Query Cache GT [new]
[success] Percona MySQL Query Cache Memory GT [new]
[success] Percona MySQL Command Counters GT [new]
[success] Percona MySQL Select Types GT [new]
[success] Percona MySQL Sorts GT [new]
[success] Percona MySQL Temporary Objects GT [new]
[success] Percona MySQL Network Traffic GT [new]
[success] Percona InnoDB Buffer Pool Activity GT [new]
[success] Percona InnoDB I/O Pending GT [new]
[success] Percona InnoDB Log GT [new]
[success] Percona MySQL Binary/Relay Logs GT [new]
[success] Percona InnoDB Transactions GT [new]
[success] Percona InnoDB Transactions Active/Locked GT [new]
[success] Percona MySQL Files and Tables GT [new]
[success] Percona MySQL Threads GT [new]
[success] Percona InnoDB Memory Allocation GT [new]
[success] Percona InnoDB Adaptive Hash Index GT [new]
[success] Percona InnoDB Internal Hash Memory Usage GT [new]
[success] Percona InnoDB Tables In Use GT [new]
[success] Percona InnoDB Current Lock Waits GT [new]
[success] Percona InnoDB Lock Structures GT [new]
[success] Percona InnoDB Checkpoint Age GT [new]
[success] Percona InnoDB Row Lock Time GT [new]
[success] Percona InnoDB Row Lock Waits GT [new]
[success] Percona InnoDB Semaphore Waits GT [new]
[success] Percona InnoDB Semaphore Wait Time GT [new]
[success] Percona MySQL Processlist GT [new]
[success] Percona MySQL Transaction Handler GT [new]
[success] Percona MySQL Handlers GT [new]
[success] Percona MySQL Query Time Histogram (Count) GT [new]
[success] Percona MySQL Query Response Time (Microseconds) GT [new]
[success] Percona InnoDB Buffer Pool Efficiency GT [new]
Device Template
[success] Percona MySQL Server HT [new]
root@bsd11:~ #

 

ss_get_mysql_stats.php 스크립트 테스트

root@bsd11:~ # php -q /usr/local/share/cacti/scripts/ss_get_mysql_stats.php --host localhost --items mm,mw,mx,my
mm:62762 mw:0 mx:0 my:0root@bsd11:~ #

 

 

웹브라우저 설정

data source 수정

 

Mariadb-Server Device 생성

 

Create Graphs for this Device 를 눌러 모니터링 항목을 지정 합니다.

 

모니터링 항목지정

모니터링 항목 지정후 Create 를 눌러 그래프를 생성 합니다.

 

모니터링 결과 확인

(그래프의 경우 약 5 ~ 10분후 확인 가능 합니다.)

 

DB 모니터링의 경우 System 모니터링보다 다소 시간이 걸립니다.

 

 

 

참고 자료

Import 참고 // php 명령어로 Import 시킬수 있으며 Web 브라우저에서도 Import 가능 합니다.  

 

 

 

 

Cacti-spine 설치

 

기존 cmd.php 사용시 모니터링 장비가 늘어날 경우 모니터링을 할수 없는 현상이 발생할수 있습니다.

 

참고자료

https://www.cacti.net/downloads/docs/html/using_spine.html

Chapter 15. Spine

Spine is the fast replacement for cmd.php. It is written in C to ensure ultimate performance for device polling. Expect a decrease in polling time of an order of magnitude. Polling times far less than 60 seconds for about 20,000 data sources are achievable e.g. on a dual XEON system supplied with 4 GB RAM and standard local disks.

 

When using Spine, don’t change crontab settings! Always use poller.php with crontab! To activate Spine instead of cmd.php, please visit Settings and select the Poller tab. Select Spine and save. Now, poller.php will use Spine on all subsequent polling cycles.

 

While Spine is really fast, choosing the correct setup will ensure, that all processor resources are used. Required settings for Maximum Concurrent Poller Processes are 1-2 times the number of CPU cores available for Spine.

 

 

 

 

Table 15-1. Spine Specific Execution Parameters

Maximum Threads per Process

The maximum threads allowed per process. Using a higher number when using Spine will improve performance. Required settings are 10-15. Values above 50 are most often insane and may degrade preformance

Number of PHP Script Servers

The number of concurrent script server processes to run per Spine process. Settings between 1 and 10 are accepted. Script Servers will pre-load a PHP environment. Then, the Script Server Scripts are included into that environment to save the overhead of reloading PHP each and every time.

Script and Script Server Timeout Value

The maximum time that Spine will wait on a script to complete, in units of seconds. If a Script Server Script is terminated due to timeout conditions, the value entered into the rrd file will be NaN

The Maximum SNMP OID’s Per SNMP Get Request

The maximum number of snmp get OID’s to issue per snmp request. Increasing this value speeds poller performance over slow links. The maximum value is 60 OID’s. Please bear in mind, that some type of devices do not accept huge OID numbers and may fail if set above 1. That’s why cacti 0.8.7 allows to define this value at device level

 

cacti-spine 설치

root@bsd11:~ # whereis cacti-spine
cacti-spine: /usr/ports/net-mgmt/cacti-spine
root@bsd11:~ # cd /usr/ports/net-mgmt/cacti-spine/ && make install clean

 

설치 완료후 메세지

Installing spine-1.1.27...
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/bin/spine

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
https://cacti.net/spine_info.php
===>  Cleaning for spine-1.1.27
root@bsd11:/usr/ports/net-mgmt/cacti-spine #

/usr/local/etc/spine.conf 를 설정 합니다.

root@bsd11:/usr/ports/net-mgmt/cacti-spine # rehash
root@bsd11:/usr/ports/net-mgmt/cacti-spine # vi /usr/local/etc/spine.conf
DB_Host                 localhost
DB_Database             cacti
DB_User                 cacti
DB_Pass                 password
DB_Port                 3306

 

Web 브라우저 설정

Configuration -> Settings -> 상위 메뉴 Poller 에서 poller Type 를 spine 으로 변경

Poller Interval 의 경우 Every Minute 으로 변경 합니다. 

Maximum Threads per Process
(The maximum threads allowed per process. Using a higher number when using Spine will improve performance)

Default 1 -> 16 변경

Number of PHP Script Servers
(The number of concurrent script server processes to run per Spine process. Settings between 1 and 10 are accepted. This parameter will help if you are running several threads and script server scripts)

Default 1 -> 8 변경