728x90
반응형
728x90
반응형
반응형

centos7 에서 설치

> wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
> rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
> yum upgrade
> yum install epel-release java-11-openjdk-devel
> yum install jenkins
> systemctl daemon-reload
> systemctl start jenkins

 

포트 변경(기본 8080)

sudo vi /etc/sysconfig/jenkins
/PORT 검색 후 8888로 변경

systemctl restart jenkins

 

설치 후 ui로 들어가서 jenkins setup wizard를 진행하다보니 다음과 같은 에러가 나서 추가적인 설정을 하였다.

"Unable to connect to Jenkins Server." 

//Add Jenkins user to root group
sudo usermod -a -G root jenkins

vi /etc/sysconfig/jenkins
//아래 내용 수정
JENKINS_LISTEN_ADDRESS="0.0.0.0"

systemctl restart jenkins

 

ui에서 localhost:8888로 들어온다. secret key로 로그인 하고 기본 플러그인으로 설치하겠다고 하면 천천히 설치하면서 아래와 같은 화면이 된다.

 

우선 continue 누르고 세부 설정으로 넘어간다.

Jenkins 관리 > System Configuration


1. 자바

jdk11 은 기본 인스톨러에 없어서 아래와 같이 설정

 

2. 그래들 - 7.3.3. 으로 기본 인스톨러로 설치

3. 소나큐브 - plugin으로 설치

4. git 은 수동으로 설치

yum install git

728x90
반응형
반응형

목표: local vm sonarqube, github, springboot2.5 소스를 푸시할 때(혹은 pr) 깃헙에서 소나큐브 검사하도록 설정

준비사항: 아래 글의 build.gradle이 적용된 소스

2022.01.06 - [세팅/sonarqube] - [sonarqube] springboot2 + gradle

 

[sonarqube] springboot2 + gradle

이전 글에서 깃헙과 소나큐브의 연동을 시도했으나 현재는 보류중이다. 찾아보니 제일 많이 연동하는 방법은 깃헙-젠킨스-소나큐브 이렇게 연동하여 젠킨스 빌드 시 소나큐브 실행 :: 이런 것

bangpurin.tistory.com

 

github action을 이용하여 sonarqube를 자동화 할 것이기 때문에, github action work flow를 만들어줘야한다.

그런데.. 회사 레파지토리에 action 탭도 없고.. settings에도 secret을 만드는 탭 자체가 없다..

좀 찾아보니.. admin role이 아니어서 그렇다는 말이 있다.

당장 관련 롤을 얻을 수 없어서 외부 개인 github에 임시 레파지토리를 만들어 테스트해보기로 한다.

 

1. 소스의 폴더 내에 .github 폴더를 만들고 그 안에 workflows라는 폴더 생성, 그 안에 yml형식의 파일을 만들어 workflow를 정의한다.

참고한 블로그

https://velog.io/@ggong/Github-Action%EC%97%90-%EB%8C%80%ED%95%9C-%EC%86%8C%EA%B0%9C%EC%99%80-%EC%82%AC%EC%9A%A9%EB%B2%95

 

Github Action에 대한 소개와 사용법

Github Action은 github에서 공식적으로 제공하는 CI/CD 툴, 다시 말해 개발의 work flow를 자동화할 수 있게 도와주는 툴이다. CI는 Continuous Integration(지속적 통합), CD는 Continuous Delivery(지속적 전

velog.io

https://zzsza.github.io/development/2020/06/06/github-action/

 

Github Action 사용법 정리

Github Action 사용법 및 cron 사용 방법에 대해 정리한 글입니다 Github Action으로 YES24 IT 신간을 파이썬으로 크롤링 후 Issue에 업로드하는 예제가 있습니다 Github Action with Python Github action with cron, Github a

zzsza.github.io

 

관련 내용을 참고하면서 내 프로젝트에 yml 파일을 만들었다.

1-1. yml을 만드는데 자꾸 형식이 틀렸다고 나와서 여기에 몇 시간을 투자했다..

매번 푸시하고 보기 힘들어서 아래 사이트에서 yml 검증하고 진행하였다..

http://www.yamllint.com/

 

YAMLlint - The YAML Validator

YAML Lint Paste in your YAML and click "Go" - we'll tell you if it's valid or not, and give you a nice clean UTF-8 version of it. Optimized for Ruby.

www.yamllint.com

 

1-2. 그렇게 통과한 나의 yml

name: be-sonar-test

on:
  push:
    branches:
      - master
      - develop
  pull_request:
    branches:
      - master
    # pr이 생성 되었을 때, 담당 유저가 등록되었을 때, PR에 코드가 머지되었을 때, 라벨이 달렸을 때 동작
    types: [opened, assigned, synchronize, labeled]

# 실행 해야할 job
jobs:
  # Job의 이름, 자유롭게
  analysis:
    runs-on: ubuntu-latest
    # 이 Job에서 사용할 환경변수
    env:
      # KEY - VALUE
      SONARQUBE_ID: admin
      SONARQUBE_URL: ${{ secrets.SONARQUBE_URL }}
      PR_NUMBER: ${{ github.event.pull_request.number }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Sonarqube Analysis
        run: |
          ./gradlew sonarqube
          -Dsonar.host.url=${{ env.SONARQUBE_URL }}
          -Dsonar.projectKey=${{ env.SONARQUBE_ID }}
          # project의 제목을 {프로젝트명}-{pr번호} 형식으로
          -Dsonar.projectName=${{ env.SONARQUBE_ID }}-${{ env.PR_NUMBER }}
          -Dsonar.login=${{ secrets.SONARQUBE_ACCESS_TOKEN }}
      - name: Comment Sonarqube URL
        uses: actions/github-script@v4
        with:
          # 이슈에 코멘트를 달아주는 스크립트 실행
          script: |
            const { SONARQUBE_ID, SONARQUBE_URL, PR_NUMBER } = process.env
            github.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: `📊 ${ SONARQUBE_ID }-${ PR_NUMBER } 분석 결과 확인하기 [링크](${SONARQUBE_URL})`
            })

 

1-3. secrets 로 시작한 변수들은 github에서 생성하였다.

 

2. 마스터에서 푸시하면 자동 빌드하도록 했기에,, 푸시만 해도 아래와 같이 자동으로 시도한다.

3. 결론적으로 실패했다. 그 이유는 아래와 같다.

나의 소나큐브는 내 노트북에 있고, 깃헙은 완전 외부다보니 깃헙 -> 소나큐브로 접속이 불가하다.. 게다가 회사 노트북 & vpn 사용이라 공인 ip도 모르겠다. 

몇 시간 투자했는데 정작 네트워크 이슈로 끝을 못봐서 허무하다.. 네트워크에 대한 미래를 내다보지 못한 나의 무지함 때문이겠지ㅠ

제일 좋은 건 깃헙/소나큐브/(젠킨스) 까지 같은 망에 설치해서 하는 것인데 이래서 사람들이 도커로 다 올려서 하나보다. 나처럼 몇 개는 리얼 몇 개는 내부 서비스를 연동하려면 이런 네트워크 문제가 생길 수 밖에 없을 듯 하다.

 


이 내용과 별개로 github actions를 활용하면 깃과 관련한 많은 일을 자동화 할 수 있나보다.

커밋, 풀, 푸시 밖에 안해본 나로서는 매우 신기한 글이었다.

https://devblog.croquis.com/ko/2020-11-06-1-using-github-actions/

 

GitHub Actions 활용하기

GitHub Actions 활용하기

devblog.croquis.com

 

728x90
반응형

'서버 세팅 & tool > sonarqube' 카테고리의 다른 글

[sonarqube] integration with jenkins  (0) 2022.01.10
[sonarqube] springboot2 + gradle  (0) 2022.01.06
[sonarqube] integration with github -1  (0) 2022.01.06
[vm] sonarqube 설치  (0) 2022.01.05
반응형

이전 글에서 깃헙과 소나큐브의 연동을 시도했으나 현재는 보류중이다.

찾아보니 제일 많이 연동하는 방법은 깃헙-젠킨스-소나큐브 이렇게 연동하여 젠킨스 빌드 시 소나큐브 실행 :: 이런 것 같은데 잘 모르는 상태에서 섣불리 젠킨스까지 건들이고 싶지 않아서 우선은 깃헙과 직접 할 수 있는지 알고 싶었다.

사실 상상한 것은 깃헙과 연동하면 소나큐브 화면에서 프로젝트를 고르고 각 프로젝트 별로 취약점을 볼 수 있을까 였는데, 그건 그냥 상상뿐인 것 같다는 생각을 했다..(어찌보면 말도 안되는 원리닼ㅋ)

그래서 소나큐브 맛보기로 소스에서 직접 연동해보기로 한다.

 

목표: java11 / springboot2.5 / gradle 사용 중인 프로젝트에 직접 연결

 

https://jeeneee.dev/springboot/springboot-2-introduction-of-sonarqube/

 

[스프링부트] #2 소나큐브(SonarQube) 도입

소나큐브란? 소나큐브는 현재 기준으로 2…

jeeneee.dev

위 블로그를 참고하여 진행하였다.

1. 소나큐브에 로그인 엑세스 토큰을 받고

2. 아래와 같이 build.gradle 파일을 수정한다(수정한 부분만 작성).

plugins {
	...
	id 'org.sonarqube' version '3.3'
	id 'jacoco'
}

...

dependencies {
	...
	implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
}

test {
	...
	finalizedBy 'jacocoTestReport'
}

...

jacoco {
	toolVersion = "0.8.7"
}

jacocoTestReport {
	reports {
		xml.enabled true // sonarqube 분석에 필요한 xml파일만 생성
		csv.enabled false
		html.enabled false
	}

}

sonarqube {
	properties {
		property "sonar.host.url", "http://localhost:9999"
		property "sonar.login", "{login token}"
		property "sonar.sources", "src"
		property "sonar.language", "java"
		property "sonar.sourceEncoding", "UTF-8"
		property "sonar.profile", "Sonar way"  // 소나큐브에서 적용할 프로필(분석할 수준 설정)
		property "sonar.java.binaries", "${buildDir}/classes" // 자바 클래스 파일위치
		property "sonar.test.inclusions", "**/test/**"  // 코드 분석에 사용할 테스트 소스
		property "sonar.exclusions", "**/resources/**, **/Q*.class, **/test/**"  //테스트커버리지에서 제외할 파일, 예제에선 정적 js 파일과 queryDSL Q파일 제외
		property "sonar.coverage.jacoco.xmlReportPaths", "${buildDir}/reports/jacoco/test/jacocoTestReport.xml" // jacoco 플러그인의 결과파일
	}
}

 

3. 위와 같이 수정하고 gradle sonarqube 실행하니 빌드가 진행된다.

빌드 완료되었다는 문구를 보고 소나큐브 화면을 리프래시 해본다.

 

아까는 나오지 않은 프로젝트가 뜬다. 클릭하면 상세 설명이 나온다.

 

4. 인텔리제이 플러그인만 써도 이 정도는 어찌저찌 볼 수 있을 것 같은데, 굳이 서버를 깔아서 보는 것의 장점이라면 (편한 ui와 더불어) 바로 히스토리 관리가 아닐까 싶다.

위에서 나온 버그 2건을 수정하고 빌드(4:26), sysout을 더 찍고 빌드(4:47)의 과정을 거쳤다.

이렇게 빌드마다 버그의 갯수를 그래프로 보여주어 흐름을 한눈에 알 수 있다.

 


참고

github 연결

https://velog.io/@sihyung92/how-to-apply-sonarqube

 

우리 팀의 코드 품질은? 정적코드 분석도구, 소나큐브 적용기

소나큐브 소개 소나큐브는 대표적인 코드 정적분석 툴입니다. 정적 분석이란 말은, 프로그램을 실행하지 않고 코드를 살펴 문제점을 살펴준다는 뜻입니다. 소나큐브가 필요한 이유와 분석해주

velog.io

결과 json / 파싱 

https://ghostitm.tistory.com/55?category=903890 

 

[QA] #3. 소나큐브 결과 출력하기 (Json)

# 소나큐브 SonarQube 분석 결과 출력하기  앞선 포스팅과 같이 정상적으로 소나큐브 설치 및 프로젝트 분석을 수행하셨다면, 경우에 따라서 수백 수천 개의 이슈들을 확인하실 수 있습니다. 좋습

ghostitm.tistory.com

 

728x90
반응형

'서버 세팅 & tool > sonarqube' 카테고리의 다른 글

[sonarqube] integration with jenkins  (0) 2022.01.10
[sonarqube] integration with github -2  (0) 2022.01.07
[sonarqube] integration with github -1  (0) 2022.01.06
[vm] sonarqube 설치  (0) 2022.01.05
반응형

목표: 로컬 vm sonarqube - 회사 github 연동

로컬에서 소나큐브를 띄우고 로그인 후 아래 설명대로 깃헙과 인테그래이션을 진행하였다.

https://docs.sonarqube.org/latest/analysis/github-integration/

 

GitHub Integration | SonarQube Docs

Linking issues When adding a Quality Gate status to your pull requests and branches, individual issues will be linked to their SonarQube counterparts automatically. For this to work correctly, you need to set the instance's Server base URL (Administration

docs.sonarqube.org

회사 깃헙 계정에서도 github apps 라는 걸 생성해야 연동이 가능했기에, 위 안내대로 생성했고, 연동완료하였다.

그리고 기대를 가득 안고 from github을 클릭하는데..

organization을 못찾는다며 githup app 에 organization 이 install되었는지 확인하란다.. 무슨말인지는 모르겠지만 다시 보니 이런 메뉴가 있다.

ㅠㅅㅜ 아마 저기서 install을 누르고 승인을 받아야 하는 것 같은데, install은 눌렀으나 누가 승인을 해주는지 모르겠다..

 

관련 시도는 아래 글에서 이어진다.

2022.01.07 - [세팅/sonarqube] - [sonarqube] github 연동 - 2

 

[sonarqube] github 연동 - 2

목표: local vm sonarqube, 외부 github, springboot2.5 소스로 소스를 푸시할 때(혹은 pr) 소나큐브 검사하도록 설정 준비사항: 아래 글의 build.gradle이 적용된 소스 2022.01.06 - [세팅/sonarqube] - [sonarqu..

bangpurin.tistory.com

 

728x90
반응형

'서버 세팅 & tool > sonarqube' 카테고리의 다른 글

[sonarqube] integration with jenkins  (0) 2022.01.10
[sonarqube] integration with github -2  (0) 2022.01.07
[sonarqube] springboot2 + gradle  (0) 2022.01.06
[vm] sonarqube 설치  (0) 2022.01.05
반응형

목표: vm centos7에 postgresql-14 / sonarqube Community 9.2.4 설치

 

0. vm 복제 및 서버 준비

1. 사전 서버설정

https://docs.sonarqube.org/latest/requirements/requirements/

# sysctl -a //시스템 변수 확인

# sysctl -w vm.max_map_count=524288
# sysctl -w fs.file-max=131072

# ulimit -n 131072
# ulimit -u 8192

 

2. 설치

가. postgresql

# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# yum install -y postgresql14-server postgresql14-contrib

# /usr/pgsql-14/bin/postgresql-14-setup initdb
//postgres 계정 생성됨

# sudo systemctl enable postgresql-14
# sudo systemctl start postgresql-14

# su - postgres

$ psql
postgres=# create user sonarqube with password 'sonarqube'; 
postgres=# create database sonarqube owner sonarqube;
postgres=# ALTER ROLE sonarqube WITH createdb; 
postgres=# GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube;
postgres=# \q

$ vim /var/lib/pgsql/14/data/postgresql.conf
//주석해제 및 수정
listen_addresses = '*'
 port = 5432


$ vim /var/lib/pgsql/14/data/pg_hba.conf
//맨 아래 추가
> host all sonarqube 0.0.0.0/0 md5

# systemctl restart postgresql-14

 

나. sonarqube

# adduser sonarqube
# su - sonarqube

$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.2.4.50792.zip
$ unzip sonarqube-9.2.4.50792.zip
$ cd sonarqube-9.2.4.50792/conf
$ vim sonar.properties
//주석제거 및 수정
 sonar.jdbc.username=sonarqube
 sonar.jdbc.password=sonarqube
 sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube

$ cd ../bin/linux-x86-64
$ ./sonar.sh start

실행하고 로그를 확인했더니 아래와 같이 에러가 발생하였다

//es.log
2022.01.05 15:30:00 ERROR app[][o.s.a.p.EsManagedProcess] Failed to check status
org.elasticsearch.ElasticsearchException: java.util.concurrent.ExecutionException: java.net.ConnectException: 연결이 거부됨
        at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2695)
        at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:2171)
        at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:2137)
        at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:2105)
        at org.elasticsearch.client.ClusterClient.health(ClusterClient.java:151)
        at org.sonar.application.es.EsConnectorImpl.getClusterHealthStatus(EsConnectorImpl.java:64)
        at org.sonar.application.process.EsManagedProcess.checkStatus(EsManagedProcess.java:97)
        at org.sonar.application.process.EsManagedProcess.checkOperational(EsManagedProcess.java:82)
        at org.sonar.application.process.EsManagedProcess.isOperational(EsManagedProcess.java:67)
        at org.sonar.application.process.ManagedProcessHandler.refreshState(ManagedProcessHandler.java:220)
        at org.sonar.application.process.ManagedProcessHandler$EventWatcher.run(ManagedProcessHandler.java:285)
Caused by: java.util.concurrent.ExecutionException: java.net.ConnectException: 연결이 거부됨
        at org.elasticsearch.common.util.concurrent.BaseFuture$Sync.getValue(BaseFuture.java:257)
        at org.elasticsearch.common.util.concurrent.BaseFuture$Sync.get(BaseFuture.java:244)
        at org.elasticsearch.common.util.concurrent.BaseFuture.get(BaseFuture.java:75)
        at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2692)
        ... 10 common frames omitted
Caused by: java.net.ConnectException: 연결이 거부됨
        at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:777)
        at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:174)
        at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:148)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:351)
        at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221)
        at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)
        at java.base/java.lang.Thread.run(Thread.java:829)

ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

 

1번에서 사전 설정한 내용과 겹치지만.. 우선 에러가 나니 root계정에서 설정 값을 변경해보았다.

1. /etc/security/limits.conf

vi /etc/security/limits.conf
//아래 내용 추가
root   soft    nofile    65536
root   hard    nofile    65536
sonarqube   soft    nofile    65536
sonarqube   hard    nofile    65536
     
# End of file

2. 변수 값 변경(elastic 이 돌기 위한 설정 값으로 변경)

sysctl -w vm.max_map_count=262144

위와 같이 수정을 하고나니 같은 에러는 안나는데, 다른 에러가 난다.

용량이 없나보다.

//web.log
Caused by: java.nio.file.FileSystemException: /home/sonarqube/sonarqube-9.2.4.50792/lib/extensions/sonar-scala-plugin-1.8.3.2219.jar -> /home/sonarqube/sonarqube-9.2.4.50792/data/web/deploy/plugins/sonarscala/sonar-scala-plugin-1.8.3.2219.jar: 장치에 남은 공간이 없음

아니 8기가 배정에 벌써 6기가를 다 써버렸다니.. 충격과 공포다.. 아무래도 다시 세팅해야 할 것 같다..

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 2.4G     0  2.4G   0% /dev
tmpfs                    2.4G   28K  2.4G   1% /dev/shm
tmpfs                    2.4G  9.2M  2.4G   1% /run
tmpfs                    2.4G     0  2.4G   0% /sys/fs/cgroup
/dev/mapper/centos-root  6.2G  6.2G   18M 100% /
/dev/sda1               1014M  226M  789M  23% /boot
tmpfs                    480M  8.0K  480M   1% /run/user/42
tmpfs                    480M     0  480M   0% /run/user/0

 

..후기.. 

다음 날 32기가로 다시 세팅해서.. 결국 보았다. ui를!!


참고

https://www.fosslinux.com/24429/how-to-install-and-configure-sonarqube-on-centos-7.htm

728x90
반응형
반응형

목표: vm에 jar을 배포한다. jar 이 정상 실행되려면 보안상의 이유로 host의 ip를 사용해야한다. jar이 정상 실행되면 host에서 vm의 api를 쏠 수 있어야 한다.

 

1. NAT 방식

2022.01.03 - [세팅/vm on mac] - [vm] virtual box 네트워크 NAT 설정 - mac

 

[vm] virtual box 네트워크 NAT 설정 - mac

목표: mac os 에서 virtual box 로 centos 7을 깔고, centos에서 out 되는 ip를 로컬과 동일하게 설정 ​ 1. mac > 설정 > 공유 > 원격 로그인 on 2. virtual box > 파일 > 호스트 네트워크 관리자 - 1번에서 확..

bangpurin.tistory.com

호스트의 ip를 게스트가 그대로 사용하는 방식으로 vm 내부의 jar가 정상작동한다. 하지만 host -> vm로 api shoot이 안된다. 

포트 포워딩으로 jar의 port를 설정해주었지만 telnet 은 되고 curl을 할 경우 connection reset으로 response 를 받아오지 못한다.

포트 포워딩으로 해결할 수 있을 것 같아 계속 보고있다ㅠㅠ

-> 포트 포워딩 설정에는 문제가 없었다!! 게스트에서 방화벽 정책 끄니까 된다...

systemctl status firewalld  //상태 확인
systemctl stop firewalld    //종료

 

2. Bridge adaptor

2022.01.12 - [세팅/vm on mac] - [vm] virtual box 브릿지 네트워크 설정

 

[vm] virtual box 브릿지 네트워크 설정

virtual box에서 아래와 같이 설정한다. vm을 고정 IP로 지정하기 위해서 아래와 같이 세팅한다. 1. 우선 맥북(호스트)의 ip 확인 > 192.168.35.xx였다 ifconfig 2. linux(게스트)에서 고정 ip 설정 cd /etc/sysc..

bangpurin.tistory.com

게스트에 별도 ip를 할당받아 보안정책에 의해 jar 실행이 되지 않는다.


참고 - 네트워크 개념 팍팍팍..

https://www.nakivo.com/blog/virtualbox-network-setting-guide/

728x90
반응형
반응형

목표: host(mac)에 jmeter 설치, client(vm centos7)에서 api 쏘고 성능측정하도록 설정

1. install jmeter on mac

brew install jmeter

2. jmeter 실행

jmeter

3. jmeter 테마 변경

  • Switching to any other mode apart from darklaf also will fix this issue 
  • cannot access class sun.awt.shell.ShellFolder 라는 에러가 나면서 저장이 안되는 버그가 있음..

4. jmeter test plan 작성

https://jmeter.apache.org/usermanual/build-web-test-plan.html

 

Apache JMeter - User's Manual: Building a Web Test Plan

4. Building a Web Test Plan¶ In this section, you will learn how to create a basic Test Plan to test a Web site. You will create five users that send requests to two pages on the JMeter Web site. Also, you will tell the users to run their tests twice. So,

jmeter.apache.org

 

5. test plan 실행

작성 시 Backend listener는 db(influx)와 ui(grafana)가 필요해서 별도 설치가 필요한 듯 하다. 그냥 하면 아래와 같은 에러가 난다.

Uncaught Exception java.lang.NoClassDefFoundError: Could not initialize class org.apache.jmeter.gui.util.FileDialoger 

관련 설명: https://www.blazemeter.com/blog/how-to-use-grafana-to-monitor-jmeter-non-gui-results

 

How to Use Grafana to Monitor JMeter Non-GUI Results | BlazeMeter

Master monitoring your JMeter test results with Grafana. Get unique test analysis benefits with these easy steps. Manage your KPIs like a pro with this guide.

www.blazemeter.com

하지만 지금은 summary report 정도로도 만족스러워서 우선 이렇게 쓰고 후에 보고서 쓸 일이나 그래프가 필요할 때 사용해보려고 한다.

728x90
반응형

'서버 세팅 & tool > jmeter' 카테고리의 다른 글

[vm] centos7에 jmeter 설정기 - 망한버전  (0) 2022.01.03
반응형

1. centos7 gui 버전이기에, 크롬으로 jmeter zip 파일을 받아주었다.

2. 압축을 풀고 bin 폴더에 가서 jmeter를 실행해주었다.

에러1. OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Not enough space' (errno=12)

  • vm종료 후 ram을 2기가로 늘려주었다.
  • jmeter.bat 파일의 자바 설정을 변경해보았다. -> 뻘짓이었다. jmeter.bat은 윈도우용 파일, 나는 linux에서 돌려서 jmeter파일을 손댔어야 한다..
  •   set HEAP=-Xms512m -Xmx512m -XX:MaxMetaspaceSize=256m

에러2. No X11 DISPLAY variable was set, but this program performed an operation which requires it.

  • 다음 명령어 실행 후 ./jmeter를 재실행하였다.
  • export DISPLAY=${mac ip}:0.0

에러3. Can't connect to X11 window server using '192.168.35.4:0.0' as the value of the DISPLAY variable.

xhost +

위 명령어로 X11 protocol security를 disable해주려고 했는데, 아래와 같은 에러가 났다.

에러 4. xhost:  unable to open display "192.168.35.4:0.0"

 

cannot open display on remote machine

i am not able to open display on a remote machine. this is what i have been trying [arvind@laptop ~]$ ssh root@192.168.5.223 root@192.168.5.223's password: Last login: Sun May 17 02:27:41 2009 from 192.168.5.13 [root@localhost ~]# pwd /root [root@localhost

community.hpe.com

 

 

-> jmeter 구조에 대한 이해가 부족하여 잘못설치한 것으로 판단, jmeter를 맥에 설치하고 vm에는 api만 쏘도록 변경

728x90
반응형

'서버 세팅 & tool > jmeter' 카테고리의 다른 글

[mac] jmeter 사용기  (1) 2022.01.04
반응형

목표: mac os 에서 virtual box 로 centos 7을 깔고, centos에서 out 되는 ip를 로컬과 동일하게 설정

1. mac > 설정 > 공유 > 원격 로그인 on

2. virtual box > 파일 > 호스트 네트워크 관리자

- 1번에서 확인한 ipA로 수정

3. 설치한 centos 7의 설정 > 네트워크

- 포트포워딩 화면에서 ip A 로 설정

4. virtual box 재실행

5. mac terminal 에서 확인

ssh root@ip A -p 2222


참고

1. 네트워크 별 자세한 설명

https://mpjamong.tistory.com/110

2. 설정 참고(맥에서는 원격 로그인 해제해야 하는 걸 몰랐다..)

https://qteveryday.tistory.com/202

728x90
반응형

'서버 세팅 & tool > vm on mac' 카테고리의 다른 글

[vm] axon server 설치  (0) 2022.01.12
[vm] virtual box 브릿지 네트워크 설정  (0) 2022.01.12
[vm] jenkins 설치  (0) 2022.01.10
[vm] 네트워크 고찰  (0) 2022.01.04
[vm] virtual box centos7 세팅  (0) 2022.01.03
반응형

1. oracle virtual box for mac 설치

2. centos7 iso 받기

https://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/isos/x86_64/

참고로 gui 리눅스를 사용하기 위해 풀버전으로 받았음

3. https://mine-it-record.tistory.com/420

위 순서대로 진행했으나, [소프트웨어 선택]에서 'GNOME 데스크탑' 을 선택했음

4. linux 실행 후 터미널에서

yum update -y

 

5. java 확인 및 설치

yum list | grep jdk
yum install java-1.11 ~~

6. java -version , javac -version 으로 깔린 자바 버전을 확인했는데, 두개가 달랐고 1.8, 1.7도 깔려있었음..

7. 기본 자바 선택

alternatives --config java

 

 

8. vm 설정을 바꿀 경우, vm을 완전히 종료해야한다. 저장됨/실행중 상태에서는 아래의 사진처럼 disable 되어 수정 불가

 
728x90
반응형

'서버 세팅 & tool > vm on mac' 카테고리의 다른 글

[vm] axon server 설치  (0) 2022.01.12
[vm] virtual box 브릿지 네트워크 설정  (0) 2022.01.12
[vm] jenkins 설치  (0) 2022.01.10
[vm] 네트워크 고찰  (0) 2022.01.04
[vm] virtual box 네트워크 NAT 설정 - mac  (0) 2022.01.03

+ Recent posts